|
Appunti tecniche |
|
Visite: 1950 | Gradito: | [ Medio appunti ] |
Leggi anche appunti:Amplificatore antilogaritmicoAmplificatore antilogaritmico Scambiando l'elemento di ingresso con quello Adc 0804ADC 0804 Convertitore A/D con visualizzazione esadecimale su due display Schema elettrico Strumenti utilizzati ADC0804; varie I trasformatoriI TRASFORMATORI Il trasformatore viene definito come una macchina statica |
Sistema di controllo codice PIN per CASSAFORTE ELETTRONICA
Descrizione:
Questo sistema è progettato per il controllo di un predeterminato codice PIN a 5 cifre, da inserire tramite tastiera numerica. E' interfacciabile con casseforti e porte di qualsiasi tipo.
Dimensionamento del circuito:
Lo scopo del questo sistema è analizzare e verificare l' inserimento di un codice predefinito, per poi dare il "via libera" a qualsiasi tipo di operazione desiderata da un utente. Quello della cassaforte è solo un esempio di applicazione per questo circuito;.
Mi sono limitato a progettare e realizzare fisicamente solo la parte elettronica (hardware e software) relativa al controllo del codice PIN inserito. Sul circuito è presente un LED bicolore (rosso / verde) che , ovviamente, rivelerà se il codice inserito è corretto o errato.
Il sistema è sprovvisto di commutatore a relais che consenta di aprire la porta della cassaforte; Il microcontrollore PIC16F684 è comunque programmato per permettere tale operazione nel caso in cui sul circuito venga implementato tale componente per l' apertura/ chiusura.
Il sistema è formato da due blocchi:
Si è preferito separare i due blocchi per poter utilizzare il maggior spazio possibile per LCD e PIC; Risulta comunque più comodo separare la parte relativa ai tasti e quella relativa al controllo del codice;
Prendiamo in considerazione il blocco relativo ai tasti:
Come detto precedentemente, la tastiera è dotata di 9 tasti, ognuno accoppiato ad una certa resistenza di valore crescente rispetto a quella immediatamente precedente. (partitore resistivo)
Sul secondo blocco troviamo invece il PIC16F684, LCD,lo speaker e lo stabilizzatore di tensione LM7805.
Andiamo ora ad analizzare il comportamento del sistema:
Quando un tasto viene premuto, si chiude il commutatore, il quale rilascia una certa tensione in uscita; A seconda del valore resistivo presente in serie a quel commutatore, si otterrà un certo valore di tensione in uscita dal blocco tastiera; A questo punto il segnale viene inviato al microcontrollore:
Il PIC è programmato per controllare, tramite il suo convertitore A/D interno, il valore di tensione che giunge dal blocco tastiera.
A questo punto esegue una conversione in digitale del segnale analogico in ingresso;
Il segnale digitale viene poi confrontato con le specifiche inserite del programma; il PIC valuterà tramite il software che numero è stato premuto dall' utente. Infatti, se il numero digitale è in un certo "range", il programma ci rivelerà il numero che è impostato per avere quel determinato valore ( ad esempio il numero 1 assume valori digitali compresi tra 20 e 40 (vedere codice sorgente));
Nel codice sorgente è inoltre presente una parte per commutare i numeri visualizzati in asterisco, ma ho preferito non utilizzarla nel programma finale, per consentire la visualizzazione dei numeri sull' LCD.
Ho utilizzato questo "trucco" dell' ADC per occupare il minor numero di porte del PIC possibile - se ne utilizza solo una - e ridurre al minimo i costi di realizzazione; Se avessimo usato un decodificatore decimale avremmo dovuto utilizzare un maggior numero di ingressi.
Vedere codice sorgente allegato per ulteriori chiarimenti riguardo ai range dei numeri;
Nella programmazione non partiamo dal numero digitale 0, perché lasciamo un piccolo range per il rumore esterno;
Infatti per i valori digitali che vanno da 0 a 20 abbiamo valori di tensione riconducibili a pochi mV, e quindi evitiamo che il PIC legga tensioni dovute a segnali additivi (cioè esterni al sistema). Siamo così sicuri che la conversione A/D parta solo se un tasto viene effettivamente premuto.
La tastiera è dimensionata in modo tale da ottenere un salto di 500mV per ogni tasto;
Il partitore resistivo a "switch case" è dimensionato a partire da 1MΩ per il tasto 1 (circa 500mV in uscita) fino a 2.2KΩ per il tasto 9 (oltre 4.5V). La tensione in uscita dal tasto 1 deve essere infatti più piccola di quella in uscita dal tasto 2 e così via.
Ogni parte è dimensionata in modo tale da ottenere una diversa tensione in uscita da quel blocco tasto/resistenza. E' inoltre presente una rete RC per la protezione del segnale uscente. (R14, C4).
Per quanto riguarda la parte relativa al controllo codice abbiamo 5 componenti fondamentali:
Il PIC16F684
LCD
BUZZER
LED BICOLORE
LM7805
Il PIC è posto al centro dello schematico, vicino ad esso troviamo il condensatore C3 (100nF) in parallelo tra VSS E VDD ,che funge da protettore dai disturbi sull' alimentazione; Da notare che l' ingresso RA3 è dedicato all' input di default, per cui non viene utilizzato.
Il PIC e l' LCD lavorano con un' alimentazione continua a 5V. Noi utilizziamo una batteria da 9V, di conseguenza necessitiamo di un regolatore di tensione (LM7805) che permetta di avere 5V in uscita:
come si può notare in figura, dei 9V in ingresso sul pin 1, ne rimarranno 5 in uscita sul pin 3. Il pin 2 è collegato a massa.
Aggiungiamo due capacità a protezione dei disturbi (C1 E C2, rispettivamente 100µF e 100nF)
Lo schermo LCD subilluminato è interfacciato col PIC;
Il potenziometro R1 (10KΩ) funge da regolatore di luminosità; a seconda del variare del suo valore resistivo si otterrà una diversa illuminazione.
Il pin 2 è collegato allo stabilizzatore (5V), i pin 1 5 7 8 9 10 a massa. La PORTC del PIC è collegata ai rimanenti pin dell' LCD. (vedere codice sorgente per inizializzazione LCD ecc)
La PORTA del PIC è invece interfacciata con gli altri due componenti: lo speaker e il LED bicolore.
RA5 e RA4 sono dedicati al LED, mentre RA1 viene utilizzata per aprire il transistore BC337 che piloterà lo speaker. Lo speaker è progettato per suonare nel momento in cui un tasto viene premuto.
Le resistenze R26 (220Ω) e R13 (2.2KΩ) fanno in modo che la corrente non danneggi il LED e il BC337.
L' ultimo pin del PIC, RA0, è quello che svolge la funzione più importante: acquisisce il segnale proveniente dalla tastiera. I connettori, posti alle estremità dei due circuiti, collegano le due parti del progetto.
Il connettore a 2 morsetti VP è collegato alla batteria da 9V (si può utilizzare anche un comune alimentatore).
Controller LCD
Le caratteristiche più importanti del controller LCD HD44780 sono:
I segnali disponibili dall'esterno per la programmazione sono 11:
otto linee per i dati
(DB0-DB7, pin
Per la programmazione del dispositivo sono disponibili molti comandi; (vedere codice sorgente)
Durante la programmazione va sempre tenuta attiva la linea di enabled (E) che abilita l'interfaccia del chip verso il PIC.
PIC 16F684
Il PIC16F684 (PIC = Peripheral Interface Controller = Controllore di interfaccia periferica) è un microcontrollore RISC (Reduced Instruction Set Computer = Computer con Set di Istruzioni Ridotto) con un set di sole 35 istruzioni.
La sua memoria programma è separata dalla memoria dati,che ha estensione 8 bit.
Questa separazione permette l 'utilizzo di una memoria programma con "word" a 14 bit.
Grazie a ciò tutte le istruzioni sono codificate con una sola "word" e quindi vengono eseguite in un solo ciclo. Di conseguenza le dimensioni dei programmi risultano ridotte e la velocità maggiore rispetto ad altre famiglie di microchip.
ADC del PIC
Il convertitore Analogico Digitale A/D interno implementa la conversione di un segnale analogico nella sua
rappresentazione binaria a 10 bit. La funzionalità del dispositivo è controllata dai tre registri ANSEL,ADCON0, ADCON1. Di seguito è riportato lo schema interno del dispositivo:
In esso si distinguono otto ingressi analogici,multiplexati con i pin della PORTA;
Per abilitare un pin al funzionamento come input analogico si deve settare il corrispondente bit del registro ANSEL (ANalogic SELect = Selezione Analogica).
Occorre inoltre impostare il pin come input,tramite il registro TRISA; La selezione dell'ingresso analogico avviene mediante i tre bit ADCON0.
Il bit VCFG permette di selezionare una tensione di riferimento esterna (input RA1 / AN1 / VREF interna (VDD).
Il bit ADON <ADCON0>abilita il funzionamento dell'A/D.
La conversione viene avviata portando alto il pin GO / DONE. Il ritorno di questo al livello segnala la fine della conversione (EOC).
Il risultato della conversione impegna 10 bit dei due registri di 8 bit ADRESH e ADRESL.
Di seguito si riportano schematici e relativi master dei due circuiti:
Per la realizzazione dei due disegni è stato utilizzato l' apposito software OrCAD:
Capture per gli schemi, Layout per i master.
Schematici
Masters
Elenco componenti commerciali utilizzati
Tastiera
Oggetto |
Quantità |
Referenza |
Valore |
Note |
|
|
C4 |
10µF |
POLARIZZATO |
|
|
J1 |
CON3 |
CONNETTORE |
|
|
R14 , R20 |
10KΩ |
|
|
|
R15 |
2,2KΩ |
|
|
|
R16 , R17 |
3,3KΩ |
|
|
|
R18 |
4,7KΩ |
|
|
|
R19 |
6,8KΩ |
|
|
|
R21 |
18KΩ |
|
|
|
R22 |
33KΩ |
|
|
|
R23 |
100KΩ |
|
|
|
R24 |
1MΩ |
|
|
|
SW0 , SW1 , SW2 , SW3 , SW4 , SW5 , SW6 , SW7 , SW8 |
SWITCH |
PULSANTI |
Controllo
Oggetto |
Quantità |
Referenza |
Valore |
Note |
|
|
C1 |
100µF |
POLARIZZATO |
|
|
C2 , C3 |
100nF |
|
|
|
D1 |
LED BI-COLOUR |
ROSSO/VERDE |
|
|
J1 |
VP |
ALIMENTAZIONE |
|
|
J2 |
CON3 |
CONNETTORE |
|
|
J3 |
HD44780 |
LCD DISPLAY |
|
|
LS2 |
SPEAKER |
|
|
|
Q2 |
BC337 |
NPN |
|
|
R1 , R25 |
10KΩ |
R1 - VAR |
|
|
R13 |
2,2KΩ |
|
|
|
R26 |
|
|
|
|
U2 |
LM7805 |
|
|
|
U4 |
PIC16F684 |
MICROCONTROLLORE |
Collaudo
Innanzitutto si alimenta il circuito con una batteria da 9V; Con il tester si verifica sullo zoccolo per il PIC se sul pin 1 il valore di tensione è 5V; se sì, significa che lo stabilizzatore LM7805 funziona nella maniera corretta. A questo punto si verificano I valori di tensione sul blocco relativo ai tasti;
Si deve controllare se la tensione in uscita da ogni blocco tasto/resistore sia circa 0.5V (500mV) superiore a quello precedente. Il tasto 1 , se premuto, deve dare in uscita circa 500mV, il tasto 9 circa 4.5V. Se i valori sono corretti, si procede al montaggio del PIC già programmato con il codice sorgente al suo interno; Si posiziona il display LCD sul suo zoccolo e deve comparire la scritta : "Federico La Mattina Bentornato" e dopo 10 secondi di attesa "inserire Codice PIN". Il LED bicolore in questo momento deve essere di colore rosso;
Si procede ora con l' inserimento di un qualsiasi codice. Al premere di ogni tasto, lo speaker deve suonare per avvertire l' utente dell' effettiva acquisizione da parte del PIC di quel dato. Se tutti e 9 i numeri letti su LCD combaciano con quelli desiderati, si procede all' inserimento del codice PIN corretto. Se il codice a 5 cifre viene inserito correttamente , il LED bicolore diventerà verde. Il sistema funziona correttamente. Si è però notato che, se il blocco relativo alla tastiera non è in posizione stabile su una superficie piana, la lettura delle tensioni in ingresso viene sfalsata, come prevedibile, dai disturbi additivi al sistema.
Conclusioni
Lo sviluppo di questo progetto è stato per me, oltre che interessante, molto utile dal punto di vista culturale e tecnico.
Ringrazio tutti coloro che hanno contribuito alla sua realizzazione, e, in particolare, il prof. Nava Ivano.
Appunti su: https:wwwappuntimaniacomtecnicheelettronica-elettricitasistema-di-controllo-codice-pi43php, tastiera a matrice con pic elettronica in, |
|
Appunti costruzione | |
Tesine Gestione | |
Lezioni Ingegneria tecnico | |