http://tomasella.altervista.org/it/elettronica/microcontrollori/demoboard_PIC18F2455.html

Demoboard per PIC18F2455/PIC18F2550

Si tratta di una scheda di sviluppo che mi sono costruito per semplicità, più che altro per imparare ad usare l'USB, sfruttando la comodità del bootloader. Dispone di un connettore standard per la programmazione in-circuit (ad esempio tramite il programmatore JDM-B), una porta USB ed una seriale RS232 (senza i controlli CTS, RTS, eccetera), due connettori diversi per un display LCD del tipo Hitachi HD44780, un buzzer, un sensore di temperatura DS18S20 (via bus 1-wire), un Real Time Clock PCF8593 o equivalentemente un DS1337 (via bus I2C), un LED RGB, un ingresso analogico (con la predisposizione per un eventuale secondo ingresso analogico su RA1), un pulsante per il reset ed uno per l'accesso al bootloader (utilizzabile però anche per la propria applicazione).

foto della demoboard USB

L'alimentazione del circuito può essere presa direttamente dalla porta USB, oppure tramite una sorgente esterna a 7.5÷10V non stabilizzata (ad esempio il caricabatterie del Nokia 3310 va benissimo). Il jumper JP1 permette infatti di selezionare la sorgente di alimentazione desiderata. Nel caso, non disponendo di un alimentatore di tensione continua a 7.5÷10V, si intendesse alimentare il circuito a tensione maggiore, è consigliabile montare su IC4 un 7805 al posto del 78L05, eventualmente corredandolo di un dissipatore adeguato. Inoltre tutti i pin del microcontrollore sono accessibili tramite un connettore "a tulipano", per facilitare eventuali espansioni del circuito.

Lo schema completo è il seguente:

schema elettrico della demoboard USB
mentre qui potete trovare il disegno del pcb per FidoCAD oppure in formato gif (104kB).

Per programmare il chip tramite ICSP, è necessario innanzitutto togliere l'alimentazione dalla scheda e scollegarla da eventuali circuiti a cui è collegata, rimuovere il jumper JP2 e il display, quindi procedere con la programmazione.

Prima di collegare alla scheda qualsiasi display, controllate bene che la piedinatura corrisponda, poichè non tutti i display hanno la stessa. Il trimmer R16 serve per regolare il contrasto dei display; dovendo collegarne uno per la prima volta consiglio di posizionarlo a metà corsa e di tararlo quando è acceso, in modo da evitare di dargli tensioni che possano danneggiarlo. Infatti la tensione di regolazione del contrasto può essere regolata tra circa -4V e +5V, ma non tutti i display accettano tensioni negative per il contrasto! In ogni caso, se seguite questo consiglio non dovreste avere problemi.

Riguardo allo schema di pilotaggio del display vorrei far notare una cosa che potrebbe tornare utile in altre applicazioni. La parte di circuito comprendente l'integrato 74HC14, che contiene sei inverter a trigger di Schmitt, e i relativi componenti di contorno, serve a generare la tensione negativa di circa -4V (misurabile ai capi di C21) necessaria alla regolazione del contrasto del display. La porta logica denominata IC3D, assieme a R13 e C11, costituisce un oscillatore alla frequenza approssimativa di 10kHz. Il circuito seguente lavora in due fasi, definite dai due possibili stati di uscita di IC3D. Nella prima fase la sua uscita è bassa (0V), l'uscita di IC3A e IC3E è alta (+5V) e quella di IC3B e IC3F è bassa. In queste condizioni il condensatore C12 risulta connesso tra +5V e 0V tramite il diodo D2 e quindi si carica a circa 5V (meno la caduta di tensione sul diodo D2). Nella fase successiva si invertono gli stati degli inverter, quindi il condensatore C12 si trova ad avere il morsetto positivo connesso a 0V. Di conseguenza quello negativo si porta a circa -5V e, tramite il diodo D3, questo potenziale viene portato al trimmer di regolazione del contrasto. In questo modo è stata realizzata quella che comunemente viene chiamata "pompa di carica". Per limitare al minimo le cadute di tensione sui diodi D2 e D3 si sono scelti dei diodi di tipo Schottky. In alternativa al circiuto integrato 74HC14 è possibile montare l'analogo CMOS siglato 40106, il quale ha identica piedinatura. Tale soluzione però riesce ad erogare una corrente inferiore, che risulta comunque sufficiente per questa applicazione.

Il pulsante S2, come accennato in precedenza, può essere utilmente impiegato, oltre che per l'accesso al bootloader, come pulsante generico per la nostra applicazione. Nel caso essa prevedesse l'uso contemporaneo del display e del pulsante, non si verificherebbe alcun conflitto, in quanto durante la scrittura verso il display il firmware imposta il pin RB4 come uscita e comanda correttamente il display, sia nel caso in cui il pulsante risulti premuto, sia nel caso in cui non lo sia. Viceversa, durante il controllo dello stato del pulsante, il pin RB4 sarà configurato come ingresso e il pulsante, con questo particolare collegamento, sarà in grado di fornire al PIC la corretta informazione riguardo il suo stato.

Vorrei inoltre far notare che questa demoboard può essere utilizzata anche per fare delle prove su altri microcontrollori aventi la stessa piedinatura. In particolare possono essere montati PIC16F876/873 e PIC16F76/73. Naturalmente in questo caso non si dovrà per nessun motivo collegare il cavo USB, poichè si potrebbe danneggiare il PIC e/o il computer. Inoltre la programmazione in-circuit di tali dispositivi potrà essere effettuata solamente tramite il connettore ICSP.



torna all'inizio     Stampa

Valid HTML 4.01 Transitional    Valid CSS