You are on page 1of 10

OROLOGIO DIGITALE a MICROCONTROLLORE

OROLOGIO DIGITALE
a MICROCONTROLLORE
con PIC 16F628A

Realizzazione di un preciso orologio digitale (formato HH:MM:SS)


utilizzando un microcontrollore della Microchip, il PIC 16F628A
http://www.narcisivalter.it/progetti/Orologio-Digitale-con-PICmicro.html

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

R6

VCC
R5
M2
+12V Alim.

U1 OUT
7805

IN

+
1N4001

R4

COM

R3

R11
100 - 1/2W
R2

M1
+9V Batt.

+ C2
100u

D2
1N4001

R11 - Montare solo


con Batterie Ricaricabili
tipo Ni-Cd o Ni-Mh

Q1
BC327

R1

DS1
TDSR515

C3

3
AC

R10
10k

3
15
13
S2
ORE

RA4

RB1
RB2
RB3
RB4
RB5
RB6

7
8
9
10
11
12

3
AC

8
AC

DS3
TDSR515
3
AC

5
dp

8
AC

DS5
TDSR515

DS4
TDSR515
3
AC

5
dp

8
AC

3
AC

5
dp

8
AC

DS6
TDSR515
3
AC

5
dp

8
AC

5
dp

RA0
RA1
RA2
RA3

RB7

17
18
1
2

5
3
2
4

A
B
C
D

VCC
RB0/INT

RA7

16
R21

U3-CD4543

BL PH
7
6
R22

470k

4k7

Solo per
Programmazione PIC

+V

R20
47k

M3

R27
10k

GND
8

DL3

a b c d e
LD

RA6

DL1

16

S3
MINUTI

5
dp

VCC

U2-16F628A

GND

S1
SHIFT

MCLR

9 1
10 2
11 3
12 4
13 5
15 6
f
14 7
g
a
b
c
d
e

In1
In2
In3
In4
In5
In6
In7

9
Com
U4-ULN2004

R9
10k

+5

R8
10k

8
AC

DS2
TDSR515

14

0.1

R7
10k

Q2
BC327

10k

10k

Gnd
8

f g

7 6 4 2 1 9 10
Out1
Out2
Out3
Out4
Out5
Out6
Out7

16
15
14
13
12
11
10

R13
R14
R15
R16
R17
R18
R19

a b c d e

f g

DL2

a b c d e

7 6 4 2 1 9 10

f g

a b c d e

7 6 4 2 1 9 10

f g

DL4

7 6 4 2 1 9 10

a b c d e

f g

a b c d e

7 6 4 2 1 9 10

f g

7 6 4 2 1 9 10

100
100
100
100
100
100
100

S4
ON

Q7
BC237

R24
330

1
2
3
ICSP
4
5
6

Q3
BC327

10k

Q4
BC327

10k

+ C1
47u

Q5
BC327

10k

D1

Q6
BC327

10k

R23
6k8

Q9
FXT690B

B
VCC

BUZ1
5V - Autoscillante

VCC
C4
0.1

R12
10k

16

16

VCC
9

C5
6.5-30p

R25
2k7

20p

Rext

R26
3M3

C6

10

Cext

11

Rs

XT1
4.194304 MHz

Q8
BC237

VCC

Q4
Q5
Q6
Q7
Q8
U5-CD4060 Q9
Q10
Q12
Q13
Q14

GND

Reset

12

7
5
4
6
14
13
15
1
2
3

Q1
Q4
Q5
10
Clock
Q6
Q7
Q8
U6-CD4020 Q9
Q10
11
Reset
Q11
Q12
Q13
Q14
GND
8

9
7
5
4
6
13
12
14
15
1
2
3

Author:

Valter Narcisi - San Benedetto del Tronto (AP)


A

Project:
Size:

Orologio Digitale con Microchip PIC16F628A

Note:
1

DWG no.

Rev.:

Scale:

1:1

www.narcisivalter.it - info@narcisivalter.it
5

Year:
Sheet:

2012
1 of 1

OROLOGIO DIGITALE a MICROCONTROLLORE

ELENCO COMPONENTI
Designator
Component
-------------------------------------------BUZ1
5V - Autoscillante
C1
47u - 16V
C2
100u - 25V
C3
0.1 u
C4
0.1 u
C5
6.5-30 pF compensatore
C6
20 pF
D1
1N4001
D2
1N4001
DL1
DIODO LED Rosso Rettangolare
DL2
DIODO LED Rosso Rettangolare
DL3
DIODO LED Rosso Rettangolare
DL4
DIODO LED Rosso Rettangolare
DS1
Display TDSR515
DS2
Display TDSR515
DS3
Display TDSR515
DS4
Display TDSR515
DS5
Display TDSR515
DS6
Display TDSR515
M1
Connettore 2 vie (+9V Batt.)
M2
Connettore 2 vie (+12V Alim.)
M3
Connettore 6 vie (ICSP)
Q1
BC327
Q2
BC327
Q3
BC327
Q4
BC327
Q5
BC327
Q6
BC327
Q7
BC237
Q8
BC237
Q9
FXT690B
R1
10k
R2
10k
R3
10k
R4
10k
R5
10k
R6
10k
R7
10k
R8
10k
R9
10k
R10
10k
Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

OROLOGIO DIGITALE a MICROCONTROLLORE

R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
S1
S2
S3
S4
U1
U2-16F628A
U3-CD4543
U4-ULN2004
U5-CD4060
U6-CD4020
XT1

100 - 1/2W
10k
100
100
100
100
100
100
100
47k
470k
4k7
6k8
330
2k7
3M3
10k
Pulsante (SHIFT)
Pulsante (ORE)
Pulsante (MINUTI)
Pulsante (ON)
7805
Microcontrollore PIC 16F628A
CD4543
ULN2004
CD4060
CD4020
Quarzo ITT 4.194304 MHz

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

OROLOGIO DIGITALE a MICROCONTROLLORE

OROLOGIO DIGITALE a Microcontrollore:


PCB Layout (Disposizione Componenti)

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

OROLOGIO DIGITALE a MICROCONTROLLORE

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

OROLOGIO DIGITALE a MICROCONTROLLORE

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

OROLOGIO DIGITALE a MICROCONTROLLORE


Essendo l'orologio un oggetto che deve funzionare 24 ore al giorno, 365 giorni l'anno, i
componenti dovrebbero essere dimensionati di conseguenza, senza tendere troppo al
risparmio: ecco il motivo per cui ho inserito l'integrato ULN2004: esso, oltre ad assicurare
circa 25-30 mA di corrente per ogni segmento del display, consente al chip CD4543 di non
lavorare in condizioni limite
(Per i Display ho utilizzato i Vishay-Telefunken TDSR5150: il tipo a segmenti rossi in grado di sopportare fino
a 35 mA di corrente per segmento e visto che vengono pilotati da multiplexer rimanendo accesi solo per 2 ms,
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 e da due
chip C/MOS, i divisori/contatori CD4060 e CD4020 (quest'ultimo sostituibile, nello schema,
con il modello CD4040).

Quando si vuole realizzare una base dei tempi molto precisa, consigliabile partire da un'elevata frequenza del
quarzo: l'eventuale tolleranza del valore di quest'ultimo sar divisa molte volte (nel nostro caso 4.194.304 volte
appunto) ottenendo cos una base dei tempi con il massimo grado di precisione.

Evitando di collegare il quarzo direttamente sugli appositi piedini del PC Micro, ho potuto
"risparmiare" una porta I/O per la funzione SHIFT (e, di conseguenza, facilitarmi il compito
in fase di progettazione software). L'uscita da 1 Hz prelevata dal piedino 13 del CD4020 si
collega il piedino RB0/INT del microcontrollore (nel firmware, il piedino RB0/INT stato
programmato per ricevere gli impulsi da tale porta e generarne un INTERRUPT: 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.

A proposito dei 4 LED, il PCB ne prevede l'utilizzo del tipo rettangolare: poi, volendo, possibile coprirne 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.

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

OROLOGIO DIGITALE a MICROCONTROLLORE


IL BUZZER
Il Buzzer BUZ1 (del tipo autoscillante da 5 V) 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-Mh
(oppure anche 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 (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 necessario rimuovere la
resistenza R11 da 100 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.

I COMANDI
L'orologio digitale prevede 4 pulsanti: MINUTI, ORE, SHIFT e ON.
MINUTI - 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 azzerati.
ORE - 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) quando zero, spenta automaticamente.
SHIFT - Quando il pulsante dei MINUTI o delle ORE sono premuti insieme al pulsante
SHIFT, le cifre vengono decrementate (conteggio all'indietro).
ON - In caso di Black-Out, la pressione di questo pulsante permette di vedere l'orario (questo
pulsante funziona solo se stata inserita la batteria in tampone).

IL RESET DELL'OROLOGIO
Se per qualche motivo si ha la necessit di resettare l'orologio, sufficiente premere insieme
i pulsanti MINUTI e ORE: un lungo beep segnala il Reset e l'orario mostrato sar 12:30:00
(che anche l'orario di default all'accensione dell'orologio).

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

OROLOGIO DIGITALE a MICROCONTROLLORE

MODIFICHE SUCCESSIVE
Il progetto ha subito una sola modifica 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). 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).

Per questa piccola modifica stato creato un nuovo firmware, la versione 2.0 scaricabile
sotto (Nella precedente versione firmware, il piedino 4 del microcontrollore era stato
programmato come MCLR mentre in questa nuova versione, il piedino funziona come
normale porta di Input).
IN CONCLUSIONE
Nelle pagine successive sono visualizzati il PCB Layout (disposizione dei componenti) ed il
Master.

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 sotto i display: il prezzo che si paga quando non si vuole utilizzare
i circuiti stampati a doppia faccia, sempre molto difficili da realizzare a livello hobbistico.

In fondo al manuale potete trovare il firmware per la programmazione del PIC.


Schema elettrico, disposizione componenti e circuiti stampati sono stati realizzati con l'editor
Protel99SE.

Valter Narcisi San Benedetto del Tronto (AP) info@narcisivalter.it

www.narcisivalter.it

You might also like