Programmatore PIC via USB

CLICK HERE FOR ENGLISH VERSION

Di Stefano Purchiaroni



Questa pagina è dedicata a tutti colore che, come me, si sono trovati nella necessità di programmare un PIC via USB. Cercando progetti già pronti sul web, a furia di selezioni e scarti, sono rimasto favorevolmente colpito dal progetto del "Open Programmer", presentato con tutti i dettagli, schemi, e sopratutto (rara cosa) software e firmware completi e "aperti" con licenza GNU GPL. Il sito è http://openprog.altervista.org/OP_ita.html ed è in continua evoluzione. Ciò che però mi turbava, ma si tratta senz'altro di una mia pecca, era la necessità di adottare schede "zoccoli" diverse a seconda dell'integrato da programmare, oltre all'ingombro, che ho ritenuto riducibile. Quindi ho deciso di crearne una versione personalizzata, e ritagliata alle mie necessità, per programmare tutti i PIC e relative Memorie con un apparecchietto Piccolo, Compatto e Pratico. Per ragioni di spazio ho sacrificato alcune famiglie di componenti programmabili "non PIC". Lo schema è stato da me modificato per avere in una unica pagina il "motore" e lo "zoccolo" unico da me scelto: un versatile ZIF da 40 pin. La realizzazione richiede cura nel montaggio, poichè il tutto va inserito in una minuscola scatola per ottenere la "compattezza" desiderata.

Descrizione


La descrizione dettagliata del progetto di origine è disponibile nel sito web sopra citato. Di seguito espongo la mia versione "Compatta" con schema, PCB e istruzioni per il montaggio e l'inserimento in una box in plastica di piccolissime dimensioni. In fondo alla pagina troverete anche una copia del software necessario per la programmazione, lato PC, ed una copia del programma da inserire nel Pic 18f2550 montato nel programmatore. Per ogni opzionale approfondimento si rimanda al sito citato.


Schemi

Scarica lo schema in formato pdf 

Scarica il circuito stampato da stampare per la fotoincisione 

Scarica il circuito stampato completo di componenti

 

Realizzazione ed assemblaggio
 
Realizzare il primo modulo, quello con il "motore", montando componenti a basso profilo, per non superare i 10 mm di altezza dal lato componenti del CS. Montare quattro colonnine da 10 mm limando le parti eccedenti dei maschi, dal lato rame, ed usare dadi di bassa altezza.
 

 
Nel montaggio dello zoccolo ZIF, prestare attenzione a non sottoporlo a sforzi di alcun genere. I suoi pin sono molto delicati e se necessario, allargare i fori sullo stampato per facilitarne l'inserimento. Saldare i 40 pin adottando una sequenza a spirale, iniziando dagli angoli e attendendo il raffreddamento delle parti metalliche prima di procedere con le saldature successive.
 

 
 
Realizzati i due moduli, collegarli inserendo le due strips ed unirli tramite le colonnine, utilizzando piccole viti a testa conica, dopo aver opportunamente svasato i fori sullo stampato dello ZIF.
 

 
 
 
Il mobiletto plastico, di comune reperibilità (io l'ho trovato più volte nelle fiere), deve essere lavorato, praticando i fori per lo ZIF, i due led e la presa USB di tipo A.
 
Troverete QUI lo schema meccanico di lavorazione. 
 
Occorreranno diversi tentativi e limature varie per fissare le parti al meglio. Io ho segato gli angoli del bordino interno del coperchio, e ho limato i lati del CS dello ZIF, per raggiungere una combinazione perfetta di chiusura del mobiletto con il circuito al suo interno. Il mobiletto è fornito con due vitine che vi saranno utili per fissare il CS principale sul fondo.
 

 
A lavoro ultimato, il programmatore si presenta così:
 

 
 
 
Software


Il sito citato all'inizio della pagina fornisce le versioni più aggiornate del programma per PC e dell'HEX da caricare sul PIC18F2550 usato nel programmatore. Tuttavia suggerisco di usare le versioni da me impiegate nei tests, perchè di esse sono sicuro del corretto funzionamento per questa particolare versione "Compatta" del programmatore, da me proposta nell'articolo. Ne potrete scaricare una copia cliccando sui links che seguono.

 

Programma per PC

HEX da caricare nel Pic del programmatore

 

 Impiego del programmatore


Collegando il programmatore con un cavo USB Maschio-Maschio di tipo A, da Windows XP (non l'ho provato on altri sistemi operativi) viene visto come dispositivo generico. Il led verde lampeggia velocemente per due-tre secondi e poi passa a lampeggiare lentamente, per annunciare il corretto startup del suo firmware e l'avvenuta connessione. Il programma permette di leggere e scrivere sul dispositivo montato sullo ZIF. In caso di problemi potete usare la funzione di test, misurando le tensioni sui terminali di uscita dello ZIF, come indicato nel sito citato.

 

La posizione del componente da programmare è quella indicata nello schema sottostante. Vi suggerisco di stamparlo su un foglio di label adesive, e appiccicarlo sul retro del programmatore. Il file immagine a piena risoluzione è anche scaricabile cliccando quà.