DemoPic
Demoboard per microcontrollori PIC16F84, PIC16F876 e PIC16F877
Figura 1
Se vuoi guarda le altre foto...
Tante volte mentre cercavo di progettare qualche circuito un po' piu' complesso del
solito ho pensato : "se sapessi programmare i micro, quanta fatica risprmierei !".
E cosi mi sono avvicinato ai Pic iscrivendomi ad un corso effettuato presso la scuola dove mi sono diplomato
ormai 15 anni fa.
Terminato il corso ho iniziato ad assemblare su breboard i primi circuitini
con a bordo un microcontrollore.
Dopo le prime entusiastiche prove pero' ho iniziato a patire il fatto di dover ogni volta rissemblare
un intero circuito solo per fare lampeggiare dei led o per acquisire una tensione da un convertitore.
Ogni volta bisognava come minimo ricollegare Vdd e Vss, rifare il circuito di clock e quello di reset.
Siccome un condensatore da 100n sulla Vdd non fa mai male c'era da collegare anche quello.
Perche' allora non costruire una piattaforma che comprendesse i piu' comuni dispositivi di input output
con degli zoccoli per i Pic e la possibilita' di collegarli assieme con del cavo telefonico ?
E da qui' e' nata la DemoPic. Per collegare i vari moduli ho utilizzato degli zoccoli torniti che hanno
il compito di "portare fuori" tutti i pin degli integrati usati, uno zoccolo da un lato, uno zoccolo dall'altro.
In realta' gli zoccoli li metto sempre in coppia, uno sull'altro, cosi' se mi si rompe un filo dentro un pin dello zoccolo e magari non
esce piu', mi basta solo smontare lo zoccolo superiore e cambiarlo. In figura 1 potete vedere il sistema nel suo complesso e nelle altre immagini
forse si riescono a scorgere anche dei particolari circuitali. Diciamo che la piastra e' nata piano piano, ogni giorno mi svegliavo e pensavo di aggiungere qualche nuova sezione.
Ecco che oltre ai primi 8 led di output ne ho messi altri 5 e poi altri 8 ancora. Poi due decodifiche con annessi display a 7 segmenti, poi......, poi il 7805 che ho usato per alimentare la piastra
ha iniziato a dare in "escandescenza". In effetti la parte di alimentazione non e' stata studiata al meglio. C'e' comunque una morsettiera ed un ponticello per
una eventuale alimentazione esterna, con un alimentatore in grado di erogare un po' piu' di corrente senza soffrire. Non sembra ma i TTL consumano !!! E ne ho usati parecchi perche' in casa ne ho abbastanza nei cassettini.
Parto da in basso a destra cercando di descrivere tutte le sezioni, magari puo' essere utile come idea se qualcuno ha voglia
di realizzare una piastra simile.
Allora, dicevo, in basso a destra si vedono 8 led verdi e 5 led rossi con sotto uno zoccolo a 6 pin e un cicalino.
Tutti i led, ed anche il cicalino sono pilotati da un ULN2803 che e' un array di darlington. Gli ingressi dei darlington sono disponibili
sugli zoccoli a fianco per essere connessi alle uscite del Pic. Sopra ai led ci sono 2 display a 7 segmenti con relative decodifiche 9368 : con questo
sistema riesco a visualizzare un byte in codice esadecimale. Sopra ai display altri 8 led con annesso array di darlington.
A sinistra e in parte sopra questi led c'e' la sezione di alimentazione. Avevo in casa un alimentatorino per caricabatterie da cellulari e l'ho usato per la DemoPic.
La tensione che arriva dal carichino viene raddrizzata e livellata da un ponte di diodi e un condensatore. Poi entra in un 7805 che alimenta tutto il circuito.
Come ho gia' detto prima il 7805 scalda parecchio, per questo c'e' un aletta di raffreddamento che comunque non e' sufficiente.
A fianco del 7805 c'e' comunque una morsettiera per l'alimentazione esterna.
In alto a destra, sopra l'alimentazione, c'e' una decodifica per tastiera 4 * 4. Siccome l'integrato che fa da decoder puo' decodificare una 5 * 4 ho aggiunto altri 4 tasti sopra per sfruttarlo al massimo.
Le uscite vanno sulla DemoPic sulla millefori in alto a sinistra, dove si vede un connettore e uno zoccolo a 8 pin. Di li possono essere collegate al Pic. Sopra questa parte c'e' un bredboard per circuiti aggiuntivi
e sopra al bredboard delle boccole per connettere altre cose ancora.
Sotto il connettore della tastiera c'e' un oscillatore integrato al quarzo, io ne ho montato uno da 8Mhz. L'uscita dell'oscillatore viene connessa a due contaori
binari in base 16 a cascata in modo che ogni stadio divida la frequenza dell'oscillatore per 2.
Sono quindi disponibili frequenze che vanno da Fosc/2 a Fosc/256. Tutte queste uscite sono connesse al solito zoccolo e rese disponibili per il clock del Pic. La cosa mi viene molto utile
in fase di debug oppure quando sbaglio per esempio le temporizzazioni di qualche lampeggio e le faccio troppo veloci.
Mi basta scendere verso il basso con il clock e tutto funziona piu' lentamente. A sinistra dell'oscillatore al quarzo c'e' un dipswitch a 8 con resistenze di pull-up, sotto ci sono 8 pulsanti sempre
con 8 resistenze di pull-up. A destra dei pulsanti c'e' un circuito di reset che rende disponibile un reset attivo basso o attivo alto.
Ancora verso il basso troviamo un Adc a 8 bit che funziona in free-running con annesso trimmer sul quale agire per variare la tensione da convertire fra 0 e 5V.
L'Adc puo' anche funzionare non in free-running e con un clock esterno agendo sugli appositi ponticelli.
Volevo metterci anche un Dac a 8 bit ma non mi pare che ci sia piu' posto. Vedo se riesco a farcelo stare.
Di seguito ho riportato gli schematici di alcune parti della DemoPic.
Il darlington ULN2803 e i led di uscita
Figura 2
Lo schema in Figura 2 rappresenta un semplicissimo driver per 8 diodi led con array di darlington. L'integrato ULN2803
contiente 8 darlington e per ognuno un diodo di ricircolo gia' integrato per eventuali pilotaggi di carichi induttivi.
Una serie di switch o pulsanti per l'input con r di pull up.
Figura 3
In Figura 3 ho realizzato un semplice dispositivo di input con 8 pulsanti provvisti di resistenze di pull-up. Sulla scheda ne
ho realizzati 2, uno con dip-switch e uno proprio con dei pulsanti.
Entrambe le soluzioni non sono provviste di circuito antirimbalzo perche' la stessa funzione puo' essere brillantemente
svolta dal pic in fase di acquisizione. Si puo' infatti programmare il pin di input
corrispondente in modo che ritardi di qualche decina di millisecondi la lettura, in modo tale che lo stato sia gia' stabile.
La Vref a sinistra e il circuito di reset a destra
Figura 4
Il divisore di frequenza per il circuito di clock
Figura 5
Interfaccia seriale
Figura 6
L'ultima aggiunta alla Demopic e' un interfaccia seriale RS232 (figura 6). Tale interfaccia e' stata semplicemente realizzata con un traslatore di livello
MAX232 e pochi componenti esterni. Per maggiori ragguagli circa la ricetrasmissione seriale ed alcune note sul funzionamento del MAX232 fate riferimento a
questa sezione.
Datasheet dei componenti utilizzati
| 74923 | Decoder per tastiera 5 * 4 |  |
| ULN2803 | Array di 8 darlington |  |
| 9368 | Decodifica binario 7 segmenti |  |
| Hdsp-5303 | Display a 7 segmenti, anodo comune |  |
| Osc | Oscillatore al quarzo integrato |  |
| 74191 | Contatore binario modulo 16 |  |
| 7414 | 6 not |  |
| Adc0804 | Adc a 8 bit |  |
| MAX232 | Driver RS232 |  |
Il difetto principale della Demopic e' quello di essersi sviluppata senza un ben preciso piano fino a che e' terminato lo spazio sulla scheda millefori.
Un sistema molto piu' razionale ed intelligente, a moduli, lo potete trovare su questo sito :
http://www.jofi.it/fiser/.
Su questo sito potete anche trovare una serie di pratiche lezioni per imparare a programmare i Pic in linguaggio C, molto utile.