Dual clock V 5.3

Stampa
( 3 Votes ) 
Valutazione attuale:  / 3
ScarsoOttimo 
Categoria principale: Elettronica Categoria: Microcontrollori
Data pubblicazione
Scritto da AresAudio Visite: 3301

Dual clock V 5.3

Orologio digitale a Nixie e LCD con ausilio del PCF8583 e PIC16F876 / PIC18F2420 

Descrizione:

Salve a tutti, il seguente progetto Ã¨ basato sul microcontrollore della Microchip tipo 16F876 / 18F2420 cloccato a 20MHz e per il time-clock è stato utilizzato un integrato specifico per questo uso e cioè il PCF8583 prodotto dalla PHILIPS con protocollo di comunicazione I2C.

Il display è un classico 2x16 caratteri di colore blu, mentre i Nixie sono dei IN12A che volendo si possono benissimo sostituire con altri tubi Nixie adattando la tensione anodica necessaria al funzionamento. 

 

 Analisi circuito: Il gestore di tutto è il solito microcontrollore della Microchip, in questo caso ho usato un PIC16F876 cloccato a 20 MHz anche se mi sarebbe servita qualche porta in più per poter dotare il circuito di altre possibilità, per il time-clock ho usato un' IC della PHILIPS il PCF8583 il quale chip è un orologio-calendario con comunicazione I2C bus che comunica con il PIC attraverso due porte della A e più precisamente portA1 =SCL (clock line) dove vi è il clock di sincronizzazione dati e portA2 = SDA (data line) dove invece scorrono i dati interscambiati in modalità bidirezionale, per leggere o scrivere dei dati da questo integrato c'è bisogno di interrogarlo assegnando uno specifico indirizzo come illustrato dalla seguente tabella che illustra come è disposta la sua memoria interna:

PCF8583 MEMORY BANK

 

Click this bar to view the full image.

+

quindi se, per esempio, volessimo sapere a quanti secondi siamo, dovremmo indirizzare la richiesta sull'indirizzo di locazione di memoria 02, il quale byte ottenuto che noi andremo a storare in una variabile dovrà successivamente essere suddiviso in due parti, i primi 4bit LSB ci indicheranno le "unità" di secondi, mentre il rimanente gruppo di 4bit MSB ci indicheranno le "decine" di secondi.....esempio pratico....se la lettura del bank02 otteniamo HEX 37 (ricordo che tutti i dati sono in esadecimale) dovremo convertirli in binario e cioè 0011-0111 quindi otterremo 0011=3 (MSB) mentre 0111=7 (LSB) per cui 37 secondi, per le ore, minuti e giorni stesso discorso, mentre diverso è per il mese e l'anno poichè bisognerà impostare il bit-flag "maschera" (bit3) nella locazione 0, ma non mi dilungo, se volete approfondire date uno sguardo al datasheet. 

 Supponiamo adesso di dover far visualizzare sui Nixie il valore precedente, bene, in questo caso si invierà semplicemente il byte ottenuto direttamente sugli 8 bit della portaC del PIC dove due decoder 74HC4028 provvederanno a convertire il byte in questione in valori decimali inviati dal PIC rispettivamente uno per le unità ed uno per le decine. Le uscite di questi decoder saranno poi bufferizzati dai MPSA42 i quali provvederanno a connettere a massa i rispettivi pin dei Nixie, sostituibili con dei SN74141, chiaramente avrete fatto caso che i decoder sono 2 mentre i tubi sono 6, a questo punto entra in gioco nuovamente il PIC che con altre 3 porte portA3 portA4 e portA5 opportunamente bufferizzate con MPSA42 ed MPSA92 ed il firmware presente all'interno, provvederanno al multiplexing dei 3 gruppi di Nixie ( ora/giorno  -- minuti/mese  --  secondi/anno ) che all'occhio umano appariranno sempre accesi mentre essi si illumineranno a rotazione molto velocemente.Per la visualizzazione sull'LCD dovremo invece convertire tutti i valori ottenuti dal PCF da HEX in DECIMALE! ( che p....), una batteria tampone terrà sempre in vita il PCF in assenza di alimentazione e con lui anche il clock che è a 32,768KHz con l'ausilio di un quarzo, sul pin 7 del PCF è collegato un BC337 che, volendo, può essere impostato per il lampeggio di un LED o altro a frequenza di 1Hz (in questo caso non utilizzato), sul pin 2 del PIC ( portA0 ) è collegato un BC337 che a sua volta pilota un MPSA42 il quale, opportunamente comandato dal firmware, è deputato a inibire il flusso dell'anodica ai Nixie per poterli spegnere qualora non fosse necessario il loro uso (per esempio la notte) così facendo si dovrebbe allungare la loro vita, a proposito di Nixie, ho usato degli economici IN12A podotti in Russia il quale datasheet è in fondo pagina, ma nulla vi obbliga ad usare questo tipo, infatti nel modello senza LCD ho usato dei tubi molto più belli ma anche molto costosi, i famigerati IN18.

Ultima cosa da descrivere è l'èlevatore di tensione per l'anodica che è costruito intorno ad un MC34063 il quale co tecnologia PWM pilota un mosfet IRF830 e, tramite un diodo veloce BYW29 (sovradimensionato) fornisce da 140 a 180V regolabile tramite il trimmer da 4,7Kohm necessari ai tubi NIXIE per potersi illuminare.Come stabilizzatore di tensione c'è un piccolo 78L05 che fornisce la +5V al PIC, all'LCD ed alla retroilluminazione dello stesso.L'alimentazione è a 12V DC o AC 300mA.

Ah, a proposito, l'LCD è montato lato saldature con i due pulsanti che gestiscono il FIrmware per poter eventalmente fissare tutto su di un pannello ed evitare cablaggi.

Nel caso in cui vorreste realizzare la versione con solo LCD, chiaramente si può omettere tutta la sezione di alimentazione Nixie, gruppo resistenze da 33K, i due 74HC4028, i 20 driver MPSA42 ed i 3 MPSA42 con le 3 resistenze da 470 Khom i 3 fratelli MPSA92 assieme alle 3 resitenze di limitazione da 22Kohm....praticamente quasi tutto!

Nella versione solo Nixie, basterà invece eliminare solo l'LCD e, se proprio vogliamo togliere qualcosa, si potrebbe eliminare anche il trimmer da 4,7Kohm (quello vicino al 78L05) deputato alla regolazione dell' LCD CONTRAST.

I catodi dei tubi NIXIE saranno collegati al PCB main-board tramite flat cable che avranno un connettore IDC (come quelli per PC) da un lato, mentre dall'altro i fili verranno spellati e saldati sui zoccoli dove verranno inseriti i NIXIE. Il numero dei conduttori del flat cable dipenderà da quale versione dell'orologio vorrete costruire, nella versione con transistor MPSA occorreranno due connettori da 20pin mentre con la versione driver SN74141 basteranno due da 10PIN, in ogni caso i catodi sono sempre dieci. Lo schema di come si collegheranno è illustrato in basso:

Click this bar to view the full image.

+

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x526

+

 

LA NUOVISSIMA NIXIE BOARD

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x195

+

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x600

+

E LA DRIVER BOARD

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x288

+

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x600

+

 

 Per quanto riguarda il connettore degli anodi il problema non sussiste in quanto è identico per entrambe le versioni riguardanti l'utilizzo dei tubi NIXIE (connettore IDC 10PIN).

PS: Per chi avesse bisogno dei PCB ne ho fatti fare alcuni e quindi per il momento sono disponibili. 

 

Il software:

      Tutto il software viene gestito tramite due soli pulsanti denominati SET e DATA, esso oltre alla parte strettamente legata al funzionamento dell'orologio contiene anche una routine per poter testare i Nixie. Per poter accedervi, è necessario tener premuti contemporaneamente all'accensione dell'orologio entrambe i pulsanti, quando si è in questa parte del software si può controllare ogni singolo numero (catodo) contenuto in ogni singolo Nixie, questo è molto utile quando si termina il montaggio e si vorrebbe testare con calma tutti i Nixie per verificarne il loro corretto funzionamento.Detto questo passiamo ora al funzionamento vero e proprio dell'orologio.

All'accensione sia il display che i NIXIE visualizzeranno la versione del software in uso per una manciata di secondi, terminati i quali premendo il pulsante SET si accede alla routine per il settaggio dell'orario e della data, si parte da minuti, poi ore, data, mese, anno e infine giorno della settimana, chiaramente i valori si dovranno incrementare tramite il pulsante DATA.

Se si necessita allungare la vita ai NIXIE si potranno spegnere (disattivando l'anodica) durante le ore che magari non verrebbero visionati da nessuno (per esempio la notte), per fare questo si accede alla routine "Power save" impostando l'ora di spegnimento e quella della riaccensione giornaliera.... agire così:

Mentre l'orologio è in funzionamento normale con una pressione prolungata (2 sec.) del tasto SET, si accede alla routine suddetta, se ciò non vi è utile e in un momento qualsiasi vogliate rimuovere questa opzione, basterà impostare i valori di ORA ON e ORA OFF identici.

Nella versione 3.8 (quella attuale), è implementata anche la funzione di contatore ore di funzionamento Nixie (9999 ore max) residente sempre in questa stessa sezione, naturalmente con la possibilità di azzerarlo.

L'orologio possiede tre effetti di cross-view tra ora e data, ciò avviene in rotazione effetto1--->effetto2---->effetto3, e comunque sempre allo scoccare dei 50 secondi per poi tornare all'ora quando il valore dei secondi è "55" (0-->49 sec. ORA, 50--->55 sec. DATA, 56--->59sec. ORA) in pratica per 5 secondi ogni minuto visualizzerà la data corrente.

 

HISTORY FIRMWARE UPDATES   

Nella versione 3.8:

-Implementata funzione giorno settimana.

-Migliorate routine effetti cross-view.

Nella versione 4.8:

-Miglioramento funzione giorno settimana.

Nella versione 5.0:

-Implementazione  aggiornamento automatico ora legale.

Nella versione 5.2:

-supporto PIC serie 18

Nella versione 5.3:

-Miglioramento routine aggiornamento annuale.

PCB top

 

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x452

+ PCB bottom

 

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x452

+ La realizzazione:

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x600

+

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x600

+

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x600

+

L'immagine è stata ridimensionata. Clicca qui per vedere l'immagine ingrandita. Le dimensioni originali sono 800x600

+

Click this bar to view the full image.

+

MEDIA

 

FILMATO

                                     DOWNLOADS

 

-Firmware V5.3 per PIC16F876

-Firmware V5.3 per PIC18F2420

-PDF schematic

-PDF Layout

-Datasheet PCF8583

 

 


 

                 Grazie a tutti e..... a presto....

.

Joomla 1.7 Templates designed by College Jacke