Vous êtes sur la page 1sur 16

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

R6

VCC

M2
12VAlim.

Q6
BC327

10k

R5

U1
7805

D1
1N4001

Q5
BC327

10k

IN

OUT

R4

COM

Q4
BC327

10k

+ C1

47u

R3

R11
3K3

Q3
BC327

10k

R2
M1
9VBatt.

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

U2PIC16F628A

RA6
RB7

RB0/INT

16

LD

17
RA0
18
RA1
1
RA2
2
RA3

dp

AC

AC

dp

AC

AC

dp

AC

AC

dp

AC

AC

dp

AC

AC

dp

RA7

DS6

+V

I1

10

I2

11

I3

12

I4

13

I5

15
f
14
g

I6

I7

a
b
c

U3CD4543

4 D

16

PH

BL

GND

COM

GND

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

d e
4

f
1

g
9

DS5

a
10

b c
7

d e
4

f
1

DS4

DL2

g
9

DL1

10

b c
7

d e
4

f
1

g
9

DS3

a
10

b c
7

d e
4

f
1

DS1

DS2

DL4

g
9

DL3

10

b c
7

d e
4

f
1

g
9

a
10

b c
7

d e
4

f
1

SECONDS

g
9

10

R21
470k

Only for
programming

R22
4k7

M3

R20
47k

1
2

ICSP

AC

VCC
6

AC

HOURS

VCC

S3

Min.

C
RB1
RB2
RB3
RB4
RB5
RB6

U4ULN2004

10k

VCC

14

R9
10k

+V

R8
10k

DS1DS6
TDSR515

0.1

GND

R7
10k

Q1
BC327

R1

VCC

Q2
BC327

10k

Q7
BC237
R27
10k

R24
330
R23
6k8

S4
SHOW

Q9
FXT690B

VCC

BUZ1
5VAutoscillante
C4
0.1

VCC

R12
10k

16

16

VCC

VCC
9

Cext

Q4
Q5

C5
6.530p
C6
20p

R25
2k7

Q7

Rext

Q8
Q9

R26
3M3

Q10
11

XT1
4.194304MHz

Q6

U5CD4060
10

Q8
BC237

Q12
Q13

Rs

Q14

7
5
4

10

Q5
Q6

Clock

Q7

14

U6CD4020

13

Q8
Q9

15
1

Q1
Q4

11

Q10
Reset

Q11
Q12

Q13

GND

Reset

GND

12

Q14

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

Author:
Project:
Size:
Note:
1

Valter Narcisi - San Benedetto del Tronto (AP)


Year:

Orologio Digitale HH:MM:SS con PIC16F628A

A3

DWG no.

Rev.:

Scale:

Sheet:

1:1

2012
1 of 1

http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html
7

OROLOGIODIGITALEaMICROCONTROLLORE

ELENCO COMPONENTI / COMPONENT LIST


Designator
Component
-------------------------------------------BUZ1
Buzzer auto-oscillante
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

http://www.narcisivalter.it/progetti/orologiodigitaleconPICmicro.html

OROLOGIODIGITALEaMICROCONTROLLORE

R10
R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
S1
S2
S3
S4
U1
U2
U3
U4
U5
U6
XT1

10k
3300 ohm
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

http://www.narcisivalter.it/progetti/orologiodigitaleconPICmicro.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

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 garantisce senza alcun
problema i 25-30 mA di corrente per ogni segmento del display consentendo al chip
CD4543 di lavorare in condizioni ottimali.
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 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 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.
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.
http://www.narcisivalter.it/progetti/orologio-digitale-con-PICmicro.html

OROLOGIO DIGITALE a MICROCONTROLLORE

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 necessario
rimuovere 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 dellorologio 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

27-08-16

Vous aimerez peut-être aussi