DemoPic


Demoboard per microcontrollori PIC16F84, PIC16F876 e PIC16F877 DemoPic
Figura 1

Se vuoi guarda le altre foto...
DemoPic DemoPic
DemoPic DemoPic DemoPic


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 DemoPic
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. DemoPic
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 DemoPic
Figura 4


Il divisore di frequenza per il circuito di clock
DemoPic
Figura 5


Interfaccia seriale
DemoPic
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

74923Decoder per tastiera 5 * 4Datasheet
ULN2803Array di 8 darlingtonDatasheet
9368Decodifica binario 7 segmentiDatasheet
Hdsp-5303Display a 7 segmenti, anodo comuneDatasheet
OscOscillatore al quarzo integratoDatasheet
74191Contatore binario modulo 16Datasheet
74146 notDatasheet
Adc0804Adc a 8 bitDatasheet
MAX232Driver RS232Datasheet


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.


Stampa la pagina