ultimo aggiornamento 16 ottobre 2009


 

PROGRAMMATORE Monty

 

Descrizione:
Mod
ulo di controllo per la programmazione dell'integrato PIC che è il "cervello" di tutto il robot.
Il connettore parallelo presente sulla scheda ne permette il collegamento con un PC per la sua programmazione tramite apposito programma.
Tale scheda deve essere collegata ad una fonte di alimentazione esterna.
Alla scheda sono collegati due commutatori: SW1 ha la funzione di interruttore di accensione, SW3 commuta tra le funzioni di programmazione ed elaborazione del programma.
Sulla scheda è inoltre presente il pulsante SW2 con funzione di RESET.
Le istruzioni per il montaggio del modulo di controllo sono sulle schede da PL01 a PL24


Istruzioni di montaggio
(3.3 Mb)

 

Foto della scheda da me assemblata
 

homotix

PCBA

OurPCB

Schema elettrico della scheda di controllo

 


Download Formato PDF

Download Formato Eagle v. 4.03
 

Elenco componenti

R1 330 ohm 1/4W C5 100uF Y1 Quarzo 4 MHz
R2 10 kohm 1/4W C6 27 pF SW1 Interruttore a slitta
R3 10 kohm 1/4W C7 27 pF SW2 Pulsante a saldare RESET
R4 10 kohm 1/4W D1 1N4004 SW3 Doppio deviatore
R5 10 kohm 1/4W D2 1N4004 J1 Presa alimentazione 12Vac
R6 10 kohm 1/4W D3 1N4004 J2 Morsettiera a vite 3 posizioni
R7 100 ohm 1/4W D4 1N4004 J3 Connettore a saldare parallela DB 25 pin
R8 100 ohm 1/4W D5 1N4004 J4 Connettore a saldare maschio 13+13
R9 100 ohm 1/4W D6 1N4004   1 zoccolo9+9
R10 100 ohm 1/4W D7 1N4004   1 zoccolo 7+7
R11 100 ohm 1/4W D8 Led Rosso   2 alette di raffreddamento
R12 100 ohm 1/4W D9 Led Rosso    
R13 100 ohm 1/4W D10 1N4148    
R14 4k7ohm 1/4W D11 1N4148    
R15 1kohm 1/4W Q1 BC558    
C1 100uF 16Vl U1 7812    
C2 100uF 16Vl U2 7805    
C3 100uF 16Vl U3 7407N    
C4 100uF 16Vl U4 16F84A    

 

Processore PIC16F84A

Piedinatura Datasheet Foto dell'integrato

SN 7407 HEX BUFFER/DRIVER
Piedinatura Datasheet Foto dell'integrato

LM 7805- LM 7812 Regolatore di tensione
Piedinatura Datasheet Foto dell'integrato

Transistor  BC546/547/548/549/550 (NPN Switching and Applications)
Piedinatura Datasheet Foto del transistor (contenitore plastico)

Diodo 1N4148
Piedinatura Datasheet Foto

Diodo 1N4004
Piedinatura Datasheet Foto

Materiale tratto dal sito

 circuito-comando-stampato_reale.jpg

circuito-comando-stampato.jpg circuito-comando-disposizione_componenti.gif

Sezione alimentazione

Schema sezione di alimentazione realizzato con un primo stadio di rettificazione e filtraggio mediante il ponte D4-D5-D6-D7 e il condensatore C1, segue uno stadio in cui tramite U1 il cui terminale di massa risulta collegato a tre diodi (D1-D2-D3) la cui caduta di tensione totale risulta di 1,8 V sposta la tensione di uscita a 13,8V contro i 12V dell'integrato, tale tensione è necessaria alla programmazione del PIC.
Abbiamo poi l'integrato U2 che fornisce la tensione di 5V per l'alimentazione del resto dei circuiti elettronici.

Interfaccia

Come possiamo osservare questo circuito programmatore utilizza tensioni da 5 e da 13,8 V.     Questa tensione è necessaria per iniziare il processo di scrittura dei PIC, dato che per portare il microcontroller in modo scrittura, è necessario inviare un segnale di reset (sul piedino MCLR) di 13,8 V.
Per commutare questa tensione di 13,8 V utilizziamo un transistor PNP BC558, se nella base dei transistor c'è tensione questo non  conduce, e nel reset abbiamo 5 V che arrivano attraverso il diodo D e la resistenza R14.
Quando tramite il piedino 5 della porta parallela si invia uno 0, il transistor si polarizza e lascia passare i 13,8 V al segnale di reset dei PIC, attraverso il diodo D10.
Quando arriva la tensione di 13,8 V il diodo LED D9 si illumina.
Terminata la scrittura del PIC si annulla il segnale di 0 sul piedino 5 del connettore DB25 e si manda un segnale di reset di 5 V per mezzo dei piedino 4 del connettore, in modo che il PIC rimanga programmato e possa eseguire il programma.
Per introdurre il codice macchina nella memoria del microcontroller, si utilizzano i segnali provenienti dai pin 2 e 3 del connettore DB25, i quali vanno sui pin RB6 e RB7 rispettivamente.
La memorizzazione si realizza bit a bit.
Tramite la linea di R6 si invia un segnale periodico, facendo corrispondere ad ogni impulso positivo il valore del bit presente sulla linea che va a R7.
Durante la lettura della memoria di programma dei PIC, il PC invia una sequenza di uno e zero attraverso la linea di R6 e contemporaneamente il PIC risponde inviando i bit tramite la linea di RB7 al piedino 10 dei connettore.
Tutte queste funzioni sono realizzate tramite il software di programmazione corrispondente, eseguito nel PC.
 

Tabella di corrispondenza del connettore di programmazione
Nome del segnale Bit n° pin Direzione
+ Data Bit 0 D0 2 Output
+ Data Bit 1 D1 3 Output
+ Data Bit 2 D2 4 Output
+ Data Bit 3 D3 5 Output
- Acknowledge S6 10 Input
Ground 18-25

 

Il circuito integrato SN7407N, di cui è dotata la scheda di controllo, è un driver che utilizzeremo per amplificare livelli logici TTL.
Ha un range di alimentazione che va da 4,75 V a 5,25 V, dispone di sei ingressi e sei uscite secondo la configurazione illustrata nell'immagine.
Questo chip si utilizza per amplificare segnali TTL.
Nella nostra scheda questa amplificazione si realizza tra i segnali che sono trasferiti dalla porta parallela del PC al microcontrollore.
I segnali di uscita che si ottengono sono di 5 V o di 0 V (a seconda se l'ingresso sia un "1 " logico o uno "0") con una capacità di corrente di circa 40 mA.
Questa amplificazione è dovuta al fatto che possiede all'interno una configurazione basata su quattro transistor per uscita, come si vede nell'immagine.
Le uscite sono a collettore aperto e richiedono quindi un collegamento tramite una resistenza di "pull-up " al positivo.

Sezione processore e connettore di uscita

Il microcontroller PIC1 6F84 può funzionare con quattro diversi tipi di oscillatori, che possono essere specificati dall'utilizzatore al momento della programmazione, mediante la parola di configurazione.
Nella nostra scheda di controllo abbiamo utilizzato un oscillatore tipo XT, formato da un cristallo di quarzo e da due condensatori ceramici da 27 pF

I quattro tipi di oscillatori permessi sono:

1°) Oscillatore tipo RC

Questo tipo di oscillatore, di costo molto basso, è formato semplicemente da una resistenza e da un condensatore. Il collegamento di questo oscillatore è riportato nel disegno in alto, Collegamento e valori tipici per un oscillatore RC di basso costo, inoltre sono anche indicate alcune coppie di valori per ottenere determinate frequenze di oscillazione.

2°) Oscillatore típo XT

Questo è l'oscillatore utilizzato nella nostra scheda, e si basa su di un oscillatore di cristallo, o risuonatore, per frequenze comprese fra 100 KHz e 4 MHz.
Con questo oscillatore otteniamo una frequenza di 4 MHz con la quale il PIC esegue un'istruzione di programma ogni microsecondo.

3°) Oscillatore tipo HS

Si tratta di un oscillatore che raggiunge un'alta velocità, compresa fra 4 e 20 MHz, basato su di un cristallo di quarzo o un risuonatore ceramico. E' il tipo di oscillatore da utilizzare per raggiungere le maggiori velocità di esecuzione. Si collega in parallelo con due condensatori, come il tipo XT. 20 MHz è anche la massima frequenza a cui può lavorare il PIC, che a questa velocità esegue un'istruzione in 200 ns.

4°) Oscillatore tipo LP

Oscillatore di basso consumo, che utilizza un quarzo e che può lavorare nel range di frequenze da 35 a 200 KHz. Si collega allo stesso modo dei tipo XT o HS.
La frequenza di funzionamento dei microcontroller è un parametro fondamentale, da cui dipende la velocità di esecuzione dei programma, e anche il consumo di energia.


All'interno della stessa famiglia dei PIC esistono modelli progettati per lavorare a frequenze differenti. Il tempo di esecuzione di un' istruzione è quattro volte il periodo di clock dell'oscillatore che stiamo utilizzando.

T ciclo di istruzione = 4 x Tclock


Le istruzioni di salto, che ci serviranno per testare lo stato dei bit, impiegano il doppio dei tempo ad essere eseguite rispetto ad un' istruzione semplice.
Per esempio, se abbiamo un oscillatore da 4 MHz , un programma da 500 istruzioni, 10 delle quali sono di salto, il programma impiegherà ad essere eseguito:
 


T ciclo di istruzione= 4 * TCLOCK = 4 * 11(4*106) = 1uS

T programma = 490 * 1us + 10 * 2ps = 510 us

Come prima valutazione di questo risultato possiamo osservare che i programmi che introduciamo nel microcontrollore vengono eseguiti ad altissima velocità, praticamente in tempo reale.

Come mostrato nella tabella, la programmazione si realizza con i pin RB6 e RB7, il primo è quello che trasferisce il segnale di clock, e R87 porta i bits da leggere e scrivere. Questo è il motivo per cui serve il commutatore a due posizioni SW3. Durante la programmazione dobbiamo scollegare i pin RB6 e RB7 dal PIC-BUS. Per questo apriremo il circuito con il commutatore SW3 (Posizione PROG). Una volta memorizzato chiuderemo il commutatore per collegare le linee R86 e RB7 di nuovo al PIC-BUS, potendo in questo modo utilizzarle come ingressi e uscite digitali (Posizione RUN).

CONNETTORE DI USCITA

 

Il connettore d'applicazione J4 lo chiameremo PIC-BUS. Contiene tutti i segnali d'ingresso e uscita del microcontroller PIC situato nella scheda di controllo. Attraverso esso ci collegheremo con il resto delle schede da cui è costituito Monty. il PIC potrà operare con sensori e periferiche situati in queste schede senza la necessità di muoverlo dal suo zoccolo.

Come si può osservare nello schema, attraverso questo connettore passano anche i segnali di alimentazione da 5 V e 13 V, e la massa. Fondamentale in un progetto elettronico è che tutte le masse siano comuni.

Il connettore ha 26 piedini. Nella fila superiore ci sono quelli dispari dal 1 al 25 iniziando da destra. Nella fila inferiore ci sono quelli pari dal 2 al 26 iniziando sempre da destra. Per esempio, i segnali della porta B sono situati nella fila superiore del connettore, in ordine, dal piedino 1 al 15 iniziando da destra. //nostro microcontroller PIC1 6F84, permette la memorizzazione seriale ICSP (In Circuít Serial Programming), grazie alla quale servono solo due pin per introdurre il programma (RB6 e RB7).

 
Materiale necessario allegato ai fascicoli dal n° 1 al n°11

 

Fascicolo 1

Fascicolo 2

Fascicolo 3

Fascicolo 4

Fascicolo 5

Fascicolo 6


Fascicolo 7

Fascicolo 8

Fascicolo 9

Fascicolo 10

Fascicolo 11

 

Elenco revisioni:
16/10/2009 Aggiornato pagina
02/04/2004 Emissione preliminare
Private Policy Cookie Policy Termini e Condizioni