Home   -     Progetti    -    Appunti    -    Avvertenze   -    Contatti


Programmatore MiniPropic2clone

Presentazione

Questo programmatore è una versione semplificata del programmatore Propic2clone.

Con opportuni adattatori, permette la programmazione di moltissimi microcontrollori PIC della Microchip.

Scarica i file per realizzare questo progetto mpp2c.zip

Si usa collegandolo alla porta parallela del PC.

Il collegamento al PC è realizzato con un cavo di uno o due metri con doppio connettore DB25 maschio e tutti i fili connessi uno ad uno cioè con il pin 1 di un connettore connesso all'uno dell'altro connettore, il due al due e così via.

La realizzazione è facile, economica e rapida, grazie al master per il PCB monofaccia.

Come software da abbinare al programmatore puoi tranquillamente utilizzare IC-Prog che ha il vantaggio di esser gratuito e di supportare moltissimi programmatori nonché di  funzionare anche sotto a Windows NT/2000. 

Di eseguito breve descrizione dei file che trovate nell'archivio.

Schema

Lo schema elettrico è molto semplice.Per alimentare il programmatore occorre un trasformatore con un secondario compreso tra 12V (consigliato) e18 V.

E' possibile alimentare il programmatore anche applicando una tensione continua compresa tra 15 e 25V sul connettore J1. In questo caso non c'è bisogno di preoccuparsi della polarità, per  la presenza a valle di J1 del ponte raddrizzatore.

Se utilizzate un trasformatore di recupero allora inseritelo prima in una scatola di plastica isolante. Io ho utilizzato una di quelle stagne che si trovano dal ferramente.Ricordate che sul primario del trasfo ci sono 220V.Lavorate in sicurezza ! 

Lo stadio di alimentazione permette di ottenere tensioni stabili e precise indispensabili per una corretta programmazione.

I led DL2 eDL3 non sono indispensabilli ma permettono di monitorare i segnali da applicare al microcontrollore.

I segnali da applicare al  microcontrollore sono prelevati dal connettore siglato J2.

Lista Componenti

Tutti i componenti sono facilmente reperibili in qualsiasi negozio di elettronica degno di farsi chiamare in questo modo.Come connettore per l'alimentazione ho utilizzato una presa femmina per  spinotti del diametro int. di 2,5 mm.Potete montare al suo posto un morsetto da circuito stampato a due poli. Il connettore DB25 sul PCB per la porta parallela  deve essere femmina.La scelta dei transistor Q1 e Q2 non è critica.Va bene un qualsiasi modello di bjt per segnali a bassa frequenza.Se non trovate l'integrato U3  7407 potete sostituirlo con uno degli equivalenti CMOS 74HC07 o 74HCT07.

PCB Bottom

Sono stato generoso col diametro delle piazzole e lo spessore delle piste.Questo permette di utilizzare una normale punta da trapano da 1mm per tutti i fori e mantenere una buona robustezza meccanica del PCB.

N.B. Stampate il master in scala 1:1. Togliete la spunta a tutte le opzioni di stampa del tipo adatta alla pagina, ecc. Verificate con un righello le dimensioni della stampa  prima di procedere alla realizzazione pratica.Il foglio deve uscire con il lato stampato che dovrà andare a contatto con la superficie presensibilizzata della  basetta.

Mappa di foratura

Tutti i fori per il montaggio dei componenti possono essere realizzati con una normalissima punta da trapano da 1mm. Se disponete di un'attrezzatura adeguata  la mappa è utile per individuare i fori dove è preferibile utilizzare una punta più sottile da 0.8mm.

Assemblaggio

Niente di impegnativo. Solo un poco di attenzione a non montare i componenti nel verso sbagliato. Le piazzole quadrate di alcuni componenti polarizzati corrispondono al terminale negativo (catodo).

Ponticelli

Nel circuito occorre inserire alcuni ponticelli. Saldateli prima dei componenti.

Test Hardware

Controllate di aver inserito tutti componenti nel verso giusto, come indicato nello schema di assemblaggio.

Ricordate che il connettore per la parallela saldato sul programmatore deve essere tipo femmina.

Misurate la tensione alternata del trasformatore che intendete utilizzare per alimentare il programmatore. Deve essere compresa tra 12 e 18V.

Alimentate il programmatore lasciandolo scollegato dal cavo parallelo. Deve accendersi il LED  rosso in alto. I LED piccoli in basso a destra dovrebbero stare spenti ma per adesso  ignorateli.

Con un voltmetro verificate la presenza delle tensioni continue di 5V e 13,2V. sulle uscite degli integrati stabilizzatori. Non c'è da allarmarsi se la seconda tensione può differisce (di poco) dai 13,2V.

Verificate la tensione di alimentazione per l'integrato  7407 misurando la differenza di potenziale tra i suoi  pin 7 e 14. Deve essere di 5V.

Collegate il programmatore al cavo parallelo. Utilizzate un cavo parallelo diritto cioè con tutti i contatti collegati, l'uno con l'uno dell'altro estremo,il due col due, e così via fino al 25. Insomma deve essere un cavo di prolunga per la porta parallela. La lunghezza del cavo è un fattore critico. Meglio utilizzare cavi corti 1 o 2m  vanno bene, 3m possono essere troppi.

Nota. E' meglio evitare di collegare (scollegare) i cavi dalla porta parallela a caldo, cioè con il PC acceso. E' consigliabile fare i collegamenti a PC spento.

Avviate il software IC-Prog.Con la finestra di IC-Prog attiva premete F3 e nella finestra di dialogo "Hardware Settings" specificate le seguenti opzioni 

Verificate di aver scelto la porta parallela LPTx sulla quale avete applicato il programmatore.

Iniziate  impostando un  un delay intermedio.

Ora eseguite il test dell' hardware come per il Propic2Clone.

Dalla barra strumenti di IC-Prog scegliete Settings | Hardware Check.

Provate a spuntare Enable MCLR: dovrebbe accendersi il LED rosso in basso a sinistra. Poi spuntate anche Enable VCC, e dovrebbe accendersi anche il LED verde in basso a destra. 

Se uno di questi due LED non si accende, è necessario ricontrollare il circuito prima di proseguire; riguardate tutto quello che c'è prima dei LED ( BJT,7407 collegamenti della porta parallela).

Con le caselle Enable MCLR e Enable VCC entrambe spuntate, provate a cliccare qualche volta su Enable Data Out: il suo stato dovrebbe essere seguito dalla casella Data In (quando è spuntata una è spuntata anche l'altra, e viceversa). Se ciò non succede, è probabile che la sezione del circuito malfunzionante sia quella che si occupa del segnale ACK (vedi schema);

Se tutti questi test hanno dato esito positivo, il circuito dovrebbe funzionare. Se non funziona potrebbe trattarsi di un problema software.

Ricordate che se volete usare IC-Prog sotto a Windows NT/2000 è necessario che: (1) Abbiate i privilegi di amministratore, o quantomeno quelli necessari per installare un driver (che è quasi sempre la stessa cosa); (2) Scarichiate il file icprog.sys che trovate sul sito, e lo copiate nella stessa directory dell'eseguibile; (3) Abilitiate il driver selezionando la casella Enable NT/2000 Driver nella scheda Misc della dialog di configurazione (menu Settings»Options).

Al limite provate con un'altra release di IC-Prog. Consultate l'help di IC-Prog per altre informazioni sul suo utilizzo.

Programmazione

Con il programmatore collegato alla parallela e IC-Prog in esecuzione l'unico LED che deve essere acceso è quello rosso dell'alimentazione,in alto.

I LED in basso a destra segnalano l'applicazione dei segnali alle linee che sono collegate al microcontrollore.

Con IC-Prog in esecuzione devono accendersi solo durante la programmazione e la successiva verifica. Terminata la programmazione tornano spenti.

Inserite e togliete il pic dal zoccolo adattatore solo quando questi LED sono entrambi spenti.

Superato il test hardware potete collegare l'adattatore al programmatore. Rispettate il verso giusto dei collegamenti. Applicare i segnali al chip inserito nel verso sbagliato può danneggiarlo seriamente. Per evitare questa possibilità consiglio di di disegnare con un pennarello indelebile un freccia in prossimità dello zoccoli su cui inserite il microcontrollore.

Il tipico errore che si può ottenere a termine della verifica della programmazione è "Verify failed at address 0000h".

Verificate di aver selezionato il device corretto nella casella di riepilogo a discesa.

Eseguire un ciclo di Erase prima di ogni tentativo di programmazione.

In IC-Prog, nella colonna Configuration sulla destra, lasciate spuntate le sole caselle PWRT e MCLR. Programmate la sola configurazione usando la voce Program Config (F4) dal menù Command. Verificate con Read All (F8) se almeno la programmazione della sola configurazione è andata a buon fine.

Riprovate anche impostando delay differenti nella finestra Hardware Settings (F3).

Provate ad accorciare i collegamenti che vanno dal connettore del programmatore al dispositivo da programmare. Teneteli il più corti possibile. 

Con la procedura descritta in test hardware, verificate che arrivino davvero le tensioni di almeno 12,5V tra i pin  MCLR e VSS del micro con LED rosso acceso e di 5V tra i pin VDD e Vss del micro con il LED verde acceso.

Ultima spiaggia provate, se possibile, anche su un altro PC e/o con altri modelli di PIC. Al limite  ci sono altri software  come WinPic, liberamente scaricabile in rete. Così potete dire di averle provate tutte...

Adattatore

I segnali del programmatore sono prelevati dal connettore siglato J2 tramite un cavo a piatto a 5 poli.

I segnali vanno applicati al microcontrollore tramite un apposito modulo adattatore. Costruendo appositi adattatori per ogni package è possibile programmare moltissimi modelli di PIC.

Questa struttura modulare garantisce una maggiore flessibilità di utilizzo.

Infatti l'adattatore può essere applicato anche ad altri programmatori e/o  modificato secondo le proprie esigenze.

Ho disegnato un adattatore con diversi tipi di zoccolo, per montare diverse famiglie di PIC.

Scarica i file per realizzare l'adattatore adpt.zip

Dagli zoccoli ho tolto alcuni pin non utilizzati per la programmazione.In questo modo è più facile l'estrazione dei dispositivi programmati. Inoltre avete meno fori e meno saldature da fare.Per una buona resistenza meccanica consiglio di lasciare i pin ai vertici degli zoccoli e di saldarli allo stampato.

In ogni caso verificate prima  i collegamenti consultando il datasheet del PIC.

ICSP

Con questa soluzione modulare è anche possibile la Programmazione Seriale In-Circuit cioè senza rimuovere il microcontrollore dal circuito in cui è montato.

Questa tecnica di programmazione è molto comoda nella fase di sviluppo di un progetto. Per utilizzarla è indispensabile che il circuito con il PIC da programmare ed i collegamenti al programmatore rispettino alcuni importanti requisiti. Trovate tutte le specifiche ICSP nei fogli tecnici di ciascun dispositivo, scaricabili dal sito della Microchip.

Ad esempio questo documento TB016.zip spiega quali sono i criteri di progetto da rispettare per l'utilizzo della ICSP con il  modello di PIC 16F8X.

Tutte le specifiche Microchip riguardanti la ICSP riportano  l'utilizzo di 5 fili. Con la programmazione ICSP e'  tuttavia possibile sfruttare l'alimentazione 5V di norma presente sulla scheda prototipo in via di sviluppo. In questo caso e' sufficiente  utilizzare un collegamento con 4 fili tra scheda programmatore e scheda target, escludendo la VDD del programmatore.

Con questo collegamento si ha l'inconveniente di vedere il LED rosso del programmatore debolmente acceso quando il programmatore è collegato alla scheda prototipo e questa si trova nello stato di funzionamento. Questo fenomento non comporta nessun solo un debole aumento consumo di energia dall'alimentazione della scheda prototipo. Per evitare questo fenomeno è possibile inserire un piccolo diodo Schottky (es. BAT 47) in serie alla linea VPP. Il piccolo diodo può trovare posto sul PCB con due fori a fianco della resistenza R10. 

Ovviamente molto dipende da cosa e' collegato al PIC nella scheda Per questo motivo lascio collegato il programmatore solo quando serve

Update

Ho avuto necessità di programmare dei dispositivi PIC16F737, che non sono supportati dall'attuale release di IC-Prog (v1.06). Questo mi ha indotto a provare anche altri software per la programmazione dei dispositivi, come ad esempio WinPic e MeProg. A dispetto della versione beta, mi sono trovato molto bene con quest' ultimo; in alcuni casi ho superato il famigerato errore "Verify failed at address 0000h" che ottenevo inspiegabilmente con lC-prog. Come suggerito nelle pagine di Claudio F, per utilizzare MeProg occorre isolare l'uscita del buffer collegato al pin 6 della porta parallela (Pin 4 di U3B nello schema elettrico sopra). Si tratta di tagliare, con un taglierino, una pista del circuito stampato.

FAQ

Dove trovo maggiori informazioni su i microcontrollori  PIC ? http://www.microchip.com
Come si realizza un circuito stampato in casa ? http://www.vincenzov.net/tutorial/stampati/stampati.htm
Vorrei iniziare a programmare un Pic, da dove inizio ? Corso "Pic By Example"  di S.Tanzilli   http://www.tanzilli.com/

PIC Appunti di utilizzo

http://stor.altervista.org/pic/fcpic/fcpic.htm

 

Home   -     Progetti    -    Appunti    -    Avvertenze   -    Contatti