Disegni, Schemi, Master, ecc. - 3 MB

Download Report

Transcript Disegni, Schemi, Master, ecc. - 3 MB

OROLOGIO DIGITALE a MICROCONTROLLORE
OROLOGIO DIGITALE
con MICROCONTROLLORE PIC16F628A
Realizzazione di un preciso orologio digitale (formato HH:MM:SS)
utilizzando un microcontrollore della Microchip, il PIC 16F628A
MANUALE TECNICO e ISTRUZIONI
(for firmware 4.0 or higher)
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
1
2
3
4
5
6
8
7
D
D
R6
VCC
M2
12V Alim.
Q6
BC327
10k
R5
U1
7805
D1
1N4001
IN
+
Q5
BC327
10k
OUT
R4
COM
Q4
BC327
10k
+ C1
47u
R3
R11
3K3
Q3
BC327
10k
R2
M1
9V Batt.
+
R11 - Only with
rechargeable battery
D2
+ C2
1N4001
100u
C3
R10
10k
3
15
13
S1
SHIFT
S2
Hours
RA5/MCLR
RA4
7
8
9
10
11
12
U2‐PIC16F628A
RA6
RB7
RB0/INT
16
LD
17
RA0
18
RA1
1
RA2
2
RA3
3
8
5
3
8
5
3
8
5
3
8
5
3
8
5
dp
AC
AC
dp
AC
AC
dp
AC
AC
dp
AC
AC
dp
AC
AC
dp
RA7
DS6
5
A
3
B
2
C
9
+V
1
I1
10
2
I2
11
3
I3
12
4
I4
13
5
I5
15
f
14
g
6
I6
7
I7
a
b
c
U3‐CD4543
d
4 D
16
9
e
PH
BL
6
7
GND
COM
GND
8
O1 16
O2 15
O3 14
O4 13
O5 12
O6 11
O7 10
R13
R14
R15
R16
R17
R18
R19
100
100
100
100
100
100
100
b c
7
6
d e
4
2
f
1
g
9
DS5
a
10
b c
7
6
d e
4
2
f
1
DS4
DL2
g
9
DL1
a
10
b c
7
6
d e
4
2
f
1
g
9
DS3
a
10
b c
7
6
d e
4
2
f
1
DS1
DS2
DL4
g
9
DL3
a
10
b c
7
6
d e
4
2
f
1
g
9
a
10
b c
7
6
d e
4
2
f
1
SECONDS
g
9
10
8
R21
470k
5
Only for
programming
R22
4k7
M3
R20
47k
1
2
ICSP
5
AC
a
VCC
6
8
AC
HOURS
VCC
1
S3
Min.
3
C
RB1
RB2
RB3
RB4
RB5
RB6
U4‐ULN2004
4
10k
VCC
14
R9
10k
+V
R8
10k
DS1 ‐ DS6
TDSO5150
0.1
GND
R7
10k
Q1
BC327
R1
VCC
C
Q2
BC327
10k
Q7
BC237
R27
10k
3
R24
330
R23
6k8
S4
SHOW
4
Q9
FXT690B
5
B
B
6
VCC
BUZ1
5V ‐ Autoscillante
C4
0.1
VCC
R12
10k
16
16
VCC
VCC
9
Cext
Q4
Q5
C5
6.5‐30p
C6
20p
R25
2k7
Q7
Q8
Rext
Q9
R26
3M3
Q10
11
XT1
4.194304 MHz
Q6
U5‐CD4060
10
Q8
BC237
Q12
Q13
Rs
Q14
7
5
4
10
6
Q5
Clock
Q6
Q7
14
U6‐CD4020
13
2
Q8
Q9
15
1
Q1
Q4
11
Q10
Q11
Reset
Q12
3
Q13
GND
Reset
GND
8
12
8
Q14
9
7
5
4
6
13
12
14
15
1
2
3
A
Author:
Project:
Size:
Note:
1
2
3
4
5
6
A
Valter Narcisi - San Benedetto del Tronto (AP)
Year:
Orologio Digitale HH:MM:SS con PIC16F628A
A3
DWG no.
1
Rev.:
1
Scale:
Sheet:
1:1
2012
1 of 1
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
7
8
OROLOGIO DIGITALE a MICROCONTROLLORE
ELENCO COMPONENTI / COMPONENT LIST
Designator
R1 … R10
R11
R12
R13 … R19
R20
R21
R22
R23
R24
R25
R26
R27
C1
C2
C3 – C4
C5
C6
Q1 … Q8
Q9
U1
U2
U3
U4
U5
U6
D1 – D2
DL1 … DL4
DS1 … DS4
XT1
BUZ1
M1 – M2
M3
S1
Component
10k
3k3
10k
100 ohm
47k
470k
4k7
6k8
330 ohm
2k7
3M3
10k
47u - 16V
100u - 25V
0.1 u
6.5-30 pF variable (verde)
20 pF
BC327 (PNP - 500mA)
FXT690B (NPN – 2A)
LM7805 (Positive 5V – 1A)
PIC 16F628A microcontroller
CD4543
ULN2004
CD4060
CD4020
1N4001
LED (RED rectangular)
Display Vishay TDSO5150 (Common Anode)
Xtal ITT 4.194304 MHz (4194304 Hz)
Buzzer sound active (auto-oscillante)
Strip 2 way – 2.54
Strip 6 way – 2.54 (ICSP)
Switch
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
OROLOGIO DIGITALE a Microcontrollore:
PCB Layout (Disposizione Componenti)
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
INTRODUZIONE
L'orologio è un oggetto che deve funzionare 24 ore al giorno, 365 giorni l'anno: per questo i
componenti elettronici dovrebbero essere scelti senza tendere troppo al risparmio. Questo
è anche il motivo per cui ho inserito l'integrato ULN2004 che consente al chip CD4543 di
lavorare in condizioni ottimali.
Per i display ho utilizzato i Vishay TDSR5150 a segmenti rosso/arancio: questo tipo è in
grado di sopportare fino a 25 mA (continui) di corrente per segmento (e oltre 100 mA di
picco !) e visto che vengono pilotati da multiplexer rimanendo accesi solo per qualche
millisecondo, è garantita loro una lunga vita.
LA BASE DEI TEMPI
La base dei tempi da 1 Hz è stata ottenuta con un quarzo ITT da 4.194304 MHz (4194304 Hz)
e da due chip C/MOS, i divisori/contatori CD4060 e CD4020 (quest'ultimo sostituibile, nello
schema, con il modello CD4040).
Evitando di collegare il quarzo direttamente sugli appositi piedini del PC Micro, ho potuto
"risparmiare" una porta I/O sfruttandola per la funzione SHIFT (e, di conseguenza,
facilitandomi il compito in fase di progettazione software evitando i conteggi dei cicli
macchina e le impostazioni del prescaler).
L'uscita da 1 Hz prelevata dal piedino 13 del CD4020 va al piedino RB0/INT del
microcontrollore (nel firmware, il piedino RB0/INT è stato programmato per ricevere gli
impulsi da tale porta e generare un INTERRUPT per ognuno di essi: questo significa che ad
ogni INTERRUPT, cioè ogni secondo, l'orario sarà aggiornato). Lo stesso impulso che esce dal
piedino 13 del CD4020 pilota anche, tramite il transistor Q9, i 4 LED separatori.
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
A proposito dei 4 LED, il PCB ne prevede l'utilizzo del tipo rettangolare (per tenere vicini i
display il più possibile): poi, volendo, se ne può coprire una parte con del nastro nero per
ridurre la "grandezza del segmento" e farlo diventare una sorta di piccolo punto quadrato.
Il compensatore C5 è utile per "correggere" eventuali piccole tolleranze del quarzo: per la
taratura, collegate il puntale di un frequenzimetro sul pin 9 di U5 (CD4060) e regolate il
compensatore fino a leggere una frequenza di 4194304 Hz.
AGGIUNTA DEL PULSANTE DI TEST
Il progetto ha subito una sola modifica hardware dopo la sua realizzazione: l'inserimento di
un pulsante di TEST tra il piedino 4 del micro e la massa, premendo il quale si avvia una
procedura che visualizza in sequenza i sei display per verificare il corretto funzionamento di
ogni segmento (durante il test, un TOC segnala il cambio di cifra ma solo se la scansione
audio dei secondi non è stata abilitata). Una volta terminato il TEST, l'orologio ritorna al suo
funzionamento originale (durante il test, il conteggio dell'orologio non si ferma, ma continua
anche se le cifre non vengono visualizzate).
I dettagli della modifica sono visibili nelle immagini successive (nel mio prototipo ho inserito
un piccolo microswitch tra il microcontrollore e il connettore ICSP).
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
IL BUZZER
Il Buzzer BUZ1 (del tipo auto-oscillante) è stato inserito principalmente per un motivo:
l'emissione di un breve beep al raggiungimento della nuova ora (così come avviene su alcuni
orologi digitali da polso o alcune radiosveglie). Inoltre esso emette un brevissimo beep ad
ogni pressione dei tasti MINUTI e ORE ed un beep lungo all'accensione oppure dopo il Reset
dell'orologio.
LA BATTERIA IN TAMPONE DA 9V
L'orologio è predisposto per il collegamento di una batteria ricaricabile da 9V al Ni-Cd
che entra in funzione solo durante un eventuale Black-Out: al contrario, durante il
funzionamento normale dell'orologio, la batteria si ricarica attraverso la resistenza R11 e
mantiene la sua carica fino al prossimo eventuale black out. Potete utilizzare anche una
normale batteria alcalina da 9V, non ricaricabile, ma in questo caso è tassativo eliminare la
resistenza R11 da 3300 ohm.
In presenza di Black-Out, le cifre del display si spengono (per risparmiare corrente ed evitare
che la batteria si scarichi precocemente): i quattro puntini luminosi continueranno a svolgere
la loro funzione indicando che l'orologio è comunque in funzione (e la batteria non è ancora
scarica !). Per visualizzare l'ora, in caso di black out, è necessario agire sul pulsante S4 (ON). Il
beep che scandisce le ore funziona anche durante un black out.
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
ISTRUZIONI
L'orologio digitale prevede 4 pulsanti: MINUTES, HOURS, SHIFT e SHOW.
MINUTES - Ad ogni pressione di questo pulsante, le cifre dei minuti aumentano di un'unità:
arrivati a "59", la successiva pressione visualizzerà "00" e così via. Ad ogni pressione del
pulsante MINUTI, i secondi sono sempre azzerati.
HOURS - Ad ogni pressione di questo pulsante, le cifre delle ore aumentano di un'unità:
arrivati a "23", la successiva pressione visualizzerà "0" e così via. La prima cifra a sinistra
(decine di ORE) se uguale a zero, è automaticamente spenta.
SHIFT - Quando il pulsante dei MINUTI o delle ORE sono premuti insieme al pulsante SHIFT,
le cifre vengono decrementate (conteggio all'indietro).
SHOW - In caso di black out, la pressione di questo pulsante permette di visualizzare l'orario
(ma solo se è stata inserita la batteria in tampone da 9V).
MODALITA’ 12/24H - Il sistema orario delle 12 ore presuppone sia riportata la stringa AM o
PM (non gestita in questo progetto): al contrario, nel sistema delle 24 ore (notazione
Standard Internazionale ISO-8601) non sono necessarie altre informazioni perché il sistema
stesso "copre" l'intero orario della giornata. Il sistema 12H è utilizzato principalmente negli
Stati Uniti, in Canada ed in Australia. In Italia, come in molti altri Stati, si utilizzano entrambi i
sistemi ma si preferisce sempre di più quello delle 24H (soprattutto in campo medico), il
quale non dà origine a letture ambigue.
Per programmare il sistema orario dell'orologio, premere e mantenere premuto il pulsante
dei MINUTI (MINUTES) per 2 secondi o comunque fino a quando il display non visualizza la
cifra "12" (sistema a 12 ore) oppure "24" (sistema a 24 ore), quindi rilasciare il pulsante.
Il valore programmato si alterna ogni volta che si avvia la procedura (funzionamento toggle).
Quando si passa dalla visualizzazione "24H" a quella "12H", l'orario è aggiornato
automaticamente: ad esempio, se l'orologio visualizza le 19:30:00, passando alla
visualizzazione 12H, il nuovo valore sul display sarà 7:30:00. L'impostazione del sistema
orario è memorizzata sulla Eeprom del PICmicro e quindi rimane in memoria anche quando
viene tolta l'alimentazione (Durante la programmazione, il conteggio dell'orologio non si
ferma, ma continua anche se le cifre non vengono visualizzate).
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
SCANSIONE AUDIO DEI SECONDI - E' possibile in qualsiasi momento impostare la scansione
audio dei secondi cioè l'emissione di un breve segnale acustico ad ogni secondo (simulazione
dell’orologio meccanico). Per la programmazione, premere e mantenere premuto il pulsante
delle ORE (HOURS) per 2 secondi o comunque fino a quando sul display a destra non appare
la cifra "0" (scansione audio dei secondi DISABILITATA) oppure la cifra "1" (scansione audio
dei secondi ABILITATA), quindi rilasciare il pulsante.
Il valore programmato si alterna ogni volta che si avvia la procedura (funzionamento toggle).
Questa impostazione è memorizzata sulla Eeprom del PICmicro e rimane in memoria anche
quando viene tolta l'alimentazione (Durante la programmazione, il conteggio dell'orologio
non si ferma, ma continua anche se le cifre non vengono visualizzate).
SCANSIONE AUDIO DELLE ORE - Anche per le ORE è possibile impostare la scansione audio
ovvero l'emissione di un breve segnale acustico al passaggio della nuova ora. Per la
programmazione, premere e mantenere premuto il pulsante SHIFT per almeno 3 secondi o
comunque fino a quando sul display di sinistra non appare la cifra "0" (scansione audio delle
ore DISABILITATA) oppure la cifra "1" (scansione audio delle ore ABILITATA), quindi rilasciare
il pulsante.
Il valore programmato si alterna ogni volta che si avvia la procedura (funzionamento toggle).
Anche questa impostazione, come la precedente, è memorizzata sulla Eeprom del PICmicro.
TEST DISPLAY - All'accensione, l'orologio avvia automaticamente il TEST dei display (i sei
display sono accesi uno alla volta in modo sequenziale per verificare il corretto
funzionamento di tutti i segmenti). Per avviare manualmente il TEST, è possibile inserire sul
circuito un piccolo microinterruttore come spiegato nel paragrafo “AGGIUNTA DEL
PULSANTE DI TEST”.
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE a MICROCONTROLLORE
IN CONCLUSIONE
In poco spazio sono stati inseriti 6 display, 5 circuiti integrati e altri componenti per cui i
ponti da inserire sono 50 (quelli segnati in rosso), molti dei quali sono "nascosti" sotto i sei
display: è il prezzo che si paga quando non si vuole utilizzare il circuito stampato a doppia
faccia, sempre molto difficile da realizzare a livello hobbistico.
UNA DOVEROSA RACCOMANDAZIONE
Lo stabilizzatore 7805 potrebbe scaldare, specialmente quando si inserisce una batteria in
tampone scarica per cui consiglio di posizionarlo sopra un'aletta di raffreddamento e
saldarlo sul circuito stampato attraverso 3 conduttori: questo assicurerà un buon
raffreddamento del semiconduttore anche in situazioni estreme.
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
OROLOGIO DIGITALE A MICROCONTROLLORE
11
LA SERIGRAFIA
(dimensions)
81.8
18
14.7
HOURs MINUTEs
3s
2s
hours
sec.
2s
12/24
112
121
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
100
SHIFT
92
SHOW
OROLOGIO DIGITALE A MICROCONTROLLORE
LA SERIGRAFIA
SHOW
SHIFT
HOURs MINUTEs
3s
2s
hours
sec.
2s
12/24
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
28-08-16