Come configurare smartphone e PC. Portale informativo

Come realizzare un diagramma dell'orologio. Sveglia elettronica

Orologio con indicatore LED a sette segmenti su chip K145IK1911

La storia di questi orologi che appaiono sul sito è leggermente diversa dagli altri diagrammi presenti sul sito.

È un normale giorno libero, vado all'ufficio postale, frugo e si imbatte nel nostro lettore Fedorenko Evgeniy, ha inviato un diagramma orologio, con descrizione e con tutte le fotografie.

Brevemente sullo schema Questo circuito dell'orologio elettronico loro mani completato sul chip K145IK1911, e l'ora viene visualizzata su indicatori LED a sette segmenti. Così come il suo articolo. Diamo un'occhiata a tutto.

Schema dell'orologio:


Per ingrandire un'immagine, è sufficiente fare clic su di essa per ingrandirla e salvare sul computer.

Non molto tempo fa mi sono trovato di fronte al compito di acquistare un nuovo orologio o di assemblarne uno nuovo da solo. I requisiti per l'orologio erano semplici: il display dovrebbe visualizzare ore e minuti, dovrebbe esserci una sveglia e gli indicatori LED a sette segmenti dovrebbero essere utilizzati come dispositivo di visualizzazione. Non volevo accumularlo chip logici, ma non c'era voglia di impegnarsi nella programmazione dei controllori. La scelta è stata fatta sullo sviluppo dell'industria elettronica sovietica: circuito integrato K145IK1901.

A quel tempo non era nel negozio, ma c'era un analogo, in un pacchetto a 40 pin: K145IK1911. Il nome dei pin di questo microcircuito non è diverso dal precedente, la differenza sta nella numerazione.



Lo svantaggio di questi microcircuitiè che funzionano solo con indicatori fluorescenti sottovuoto. Per garantire l'attracco con Indicatore LED era necessario costruire un circuito di adattamento utilizzando interruttori a semiconduttore.

Come driver delle stringhe – J1-J7 si possono usare i transistor KT3107 con l'indice delle lettere I, A, B. Per i driver per la selezione dei segmenti D1-D4, KT3102I, o KT3117A, KT660A, così come tutti gli altri con tensione massima collettore-emettitore di almeno 35 V e corrente di collettore di almeno 100 mA. La corrente dei segmenti dell'indicatore è regolata da resistori in circuiti collettori driver di stringa.



Un punto lampeggiante alla frequenza di 1 Hz viene utilizzato per separare le cifre delle ore e dei minuti.

Questa frequenza è presente sul pin Y4 dopo l'inizio del cronometraggio. Questo schema offre anche la possibilità di visualizzare sul display invece di ore e minuti, rispettivamente minuti e secondi. Il passaggio a questa modalità si effettua premendo il pulsante “Sec.”. Il ritorno alla visualizzazione dell'ora e dei minuti viene effettuato dopo aver premuto il pulsante “Return”. Questo chip offre la possibilità di impostare due sveglie contemporaneamente, ma in questo schema la seconda sveglia non viene utilizzata in quanto non necessaria. Come emettitore sonoro viene utilizzato un tweeter piezoelettrico con generatore incorporato, con una tensione di alimentazione di 12V. Il segnale della sveglia viene rimosso dal pin Y5 del microcircuito. Per fornire un suono intermittente, il segnale viene modulato alla frequenza di 1 Hz, utilizzata per indicare il secondo ritmo (punto). Per uno studio più dettagliato della funzionalità del microcircuito K145IK1901(11), è possibile fare riferimento alla documentazione, che si trova in Ultimamente possono essere facilmente trovati online. Il microcircuito deve essere alimentato con una tensione negativa di -27V±10%. Secondo gli esperimenti effettuati, il microcircuito rimane operativo anche a una tensione di -19 V e la precisione dell'orologio non ne risente affatto.

Il diagramma dell'orologio è mostrato nella figura sopra. Nel circuito sono stati utilizzati resistori a chip di dimensione standard 1206, il che consente di ridurre significativamente le dimensioni del dispositivo. Sono adatti tutti gli indicatori a sette segmenti con anodo comune.

Bene, per ora la storia è finita. Sarà ulteriormente sviluppata e arricchita. Ed esprimo la mia gratitudine al suo autore, Evgeniy Fedorenko, per tutte le domande e lascio anche la sua email. Scrivi a Questo indirizzo E-mail protetto dai bot spam. Devi avere JavaScript abilitato per vederlo.

Ne puoi trovare molti in offerta vari modelli e opzioni elettroniche orologio digitale, ma la maggior parte di essi sono progettati per uso interno, poiché i numeri sono piccoli. Tuttavia, a volte è necessario posizionare l'orologio sulla strada, ad esempio sul muro di una casa o in uno stadio, in una piazza, cioè dove sarà visibile lunga distanza da molte persone. A questo scopo è stato sviluppato e assemblato con successo questo schema orologio LED di grandi dimensioni, al quale è possibile collegare (tramite interruttori a transistor interni) indicatori LED a piacere grande taglia. Aumento diagramma schematico puoi cliccarci sopra:

Descrizione dell'orologio

  1. Orologio. IN questa modalità in arrivo vista standard visualizzazione dell'ora. C'è una correzione digitale della precisione dell'orologio.
  2. Termometro. In questo caso, il dispositivo misura la temperatura della stanza o dell'aria esterna da un sensore. Intervallo da -55 a +125 gradi.
  3. Viene fornito il controllo dell'alimentazione.
  4. Visualizza alternativamente le informazioni sull'indicatore: un orologio e un termometro.
  5. Per salvare le impostazioni e le impostazioni in caso di interruzione di 220 V, viene utilizzata la memoria non volatile.


La base del dispositivo è l'ATMega8 MK, che viene lampeggiato impostando i fusibili secondo la tabella:

Funzionamento e gestione dell'orologio

Quando accendi l'orologio per la prima volta, sullo schermo verrà visualizzata una schermata iniziale pubblicitaria, dopodiché passerà alla visualizzazione dell'ora. Premendo un pulsante TEMPO IMPOSTATO l'indicatore andrà in cerchio dalla modalità principale:

  • modalità di visualizzazione dei minuti e dei secondi. Se in questa modalità premi contemporaneamente il pulsante PIÙ E MENO, i secondi verranno azzerati;
  • impostazione dei minuti dell'ora corrente;
  • impostazione dell'orologio corrente;
  • simbolo T. Impostazione della durata della visualizzazione dell'orologio;
  • simbolo o. Visualizza il tempo di visualizzazione del simbolo temperatura esterna(fuori);
  • la quantità di correzione giornaliera della precisione dell'orologio. Simbolo C e valore di correzione. Impostazione limiti da -25 a 25 sec. Il valore selezionato verrà aggiunto o sottratto dall'ora corrente ogni giorno alle 0 ore 0 minuti e 30 secondi. Per maggiori dettagli leggere le istruzioni presenti nell'archivio con i file del firmware e del circuito stampato.

Impostazione dell'orologio

Tenendo premuti i pulsanti PIÙ/MENO noi facciamo installazione accelerata valori. Dopo aver modificato qualsiasi impostazione, dopo 10 secondi i nuovi valori verranno scritti nella memoria non volatile e verranno letti da lì alla riaccensione. Le nuove impostazioni diventano effettive durante l'installazione. Il microcontrollore monitora la presenza dell'alimentazione principale. Quando è spento, il dispositivo è alimentato da fonte interna. Di seguito è riportato lo schema del modulo di potenza ridondante:


Per ridurre il consumo di corrente, l'indicatore, i sensori e i pulsanti vengono spenti, ma l'orologio stesso continua a contare il tempo. Appena ritorna la tensione di rete 220V tutte le funzioni di indicazione vengono ripristinate.


Poiché il dispositivo è stato concepito come grande orologio a led, hanno due display: un grande LED - per la strada, e un piccolo LCD - per una facile configurazione del display principale. Ampio display situato ad una distanza di diversi metri dalla centrale e collegato tramite due cavi da 8 fili ciascuno. Per controllare gli anodi dell'indicatore esterno, vengono utilizzati interruttori a transistor secondo lo schema riportato nell'archivio. Autori del progetto: Alexandrovich & SOIR.

Come suggerisce il nome, lo scopo principale di questo dispositivo- Imparare ora attuale e data. Ma ne ha molti altri funzioni utili. L'idea della sua creazione è nata dopo che mi sono imbattuto in un orologio mezzo rotto con un diametro relativamente grande (per un polso) corpo in metallo. Ho pensato che avrei potuto inserire lì un orologio fatto in casa, le cui possibilità sono limitate solo dalla mia fantasia e abilità. Il risultato è stato un dispositivo con le seguenti funzioni:

1. Orologio - calendario:

    Conteggio e visualizzazione di ore, minuti, secondi, giorno della settimana, giorno, mese, anno.

    Disponibilità regolazione automatica ora corrente, che viene prodotta ogni ora ( valori massimi+/-9999 unità, 1 unità. = 3,90625 ms.)

    Calcolo del giorno della settimana da una data (per il secolo corrente)

    Transizione automatica per l'estate e orario invernale(Disabilitato)

  • Vengono presi in considerazione gli anni bisestili

2. Due sveglie indipendenti (una melodia suona quando viene attivata)
3. Timer con incrementi di 1 secondo. (Tempo massimo di conteggio 99h 59m 59s)
4. Cronometro a due canali con risoluzione di conteggio di 0,01 sec. ( tempo massimo conta 99h 59m 59s)
5. Cronometro con risoluzione di conteggio di 1 secondo. (tempo massimo di conteggio 99 giorni)
6. Termometro nell'intervallo da -5°C. fino a 55°C (limitato dall'intervallo di temperatura operazione normale dispositivi) con incrementi di 0,1°C.
7. Lettore ed emulatore chiavi elettroniche- tablet del tipo DS1990 che utilizzano il protocollo Dallas 1-Wire (memoria per 50 pezzi, che contiene già diverse "chiavi fuoristrada" universali) con la possibilità di visualizzare il codice chiave byte per byte.
8. A distanza controllo sui raggi IR (è implementato solo il comando “Scatta foto”) per fotocamere digitali"Pentax", "Nikon", "Canon"
9. Torcia LED
10. 7 melodie
11. Segnale acustico all'inizio di ogni ora (può essere disattivato)
12. Conferma sonora della pressione dei pulsanti (può essere disattivata)
13. Monitoraggio della tensione della batteria con funzione di calibrazione
14. Regolazione della luminosità dell'indicatore digitale

Forse tale funzionalità è ridondante, ma mi piacciono le cose universali e in più ho la soddisfazione morale che questo orologio sarà realizzato con le mie mani.

Diagramma schematico dell'orologio

Il dispositivo è costruito sul microcontrollore ATmega168PA-AU. L'orologio ticchetta secondo il timer T2, funzionante in modalità asincrona da un orologio al quarzo a 32768 Hz. Il microcontrollore è quasi sempre in modalità sospensione (l'indicatore è spento), si sveglia una volta al secondo per aggiungere questo secondo all'ora corrente e si addormenta di nuovo. In modalità attiva, l'MK ha un clock dall'oscillatore RC interno a 8 MHz, ma il prescaler interno lo divide per 2, di conseguenza il core ha un clock a 4 MHz. Per l'indicazione vengono utilizzati quattro indicatori digitali LED a sette segmenti a una cifra con un anodo comune e un punto decimale. Sono inoltre presenti 7 LED di stato, il cui scopo è il seguente:
D1- Segno valore negativo(meno)
D2- Segnale di cronometro in funzione (lampeggiante)
D3- Segnale dell'accensione della prima sveglia
D4- Segnale dell'inserimento del secondo allarme
D5- Indicatore di alimentazione segnale sonoro all'inizio di ogni ora
D6- Segnale di un timer in funzione (lampeggiante)
D7- Segno basso voltaggio batterie di alimentazione

R1-R8 - resistori limitatori di corrente di segmenti di indicatori digitali HG1-HG4 e LED D1-D7. R12,R13 – divisore per il monitoraggio della tensione della batteria. Poiché la tensione di alimentazione dell'orologio è 3 V e il LED bianco D9 richiede circa 3,4-3,8 V a corrente nominale consumo, quindi non si illumina a piena potenza (ma è sufficiente per non inciampare nel buio) ed è quindi collegato senza resistore limitatore di corrente. Gli elementi R14, Q1, R10 sono progettati per controllare il LED infrarosso D8 (implementazione telecomando per le fotocamere digitali). R19, ​​​​R20, R21 vengono utilizzati per l'accoppiamento durante la comunicazione con dispositivi dotati di interfaccia 1-Wire. Il controllo viene effettuato da tre pulsanti, che convenzionalmente ho chiamato: MODE (modalità), UP (su), DOWN (giù). Il primo è progettato anche per svegliare il MK tramite un'interruzione esterna (in questo caso l'indicazione si accende), quindi è collegato separatamente all'ingresso PD3. La pressione dei pulsanti rimanenti viene determinata utilizzando un ADC e resistori R16, R18. Se i pulsanti non vengono premuti entro 16 secondi, il MK va in modalità di sospensione e l'indicatore si spegne. Quando è in modalità “Telecomando per telecamere” questo intervallo è di 32 secondi e con la torcia accesa - 1 minuto. MK può anche essere messo in stop manualmente utilizzando i pulsanti di controllo. Quando il cronometro funziona con una risoluzione di conteggio di 0,01 sec. Il dispositivo non entra in modalità sospensione.

Scheda a circuito stampato

Il dispositivo è assemblato su un circuito stampato a doppia faccia di forma circolare della dimensione del diametro interno della cassa dell'orologio da polso. Ma nella produzione ho utilizzato due tavole unilaterali con uno spessore di 0,35 mm. Anche questo spessore è stato ottenuto staccandolo da un laminato bifacciale in fibra di vetro dello spessore di 1,5 mm. Le tavole sono state poi incollate insieme. Tutto questo è stato fatto perché non avevo una sottile fibra di vetro a doppia faccia, e ogni millimetro di spessore risparmiato nello spazio interno limitato della cassa dell'orologio è molto prezioso, e non c'era bisogno di allineamento nella produzione di conduttori stampati utilizzando la LUT metodo. Disegno scheda a circuito stampato e la posizione delle parti sono nei file allegati. Da un lato ci sono indicatori e resistori limitatori di corrente R1-R8. Sul retro ci sono tutti gli altri dettagli. Sono presenti due fori passanti per led bianchi e infrarossi.

I contatti dei pulsanti e il portabatteria sono realizzati in lamiera di acciaio flessibile con uno spessore di 0,2...0,3 mm. e stagnato. Di seguito sono riportate le foto del tabellone da entrambi i lati:

Design, parti e loro eventuale sostituzione

Il microcontrollore ATmega168PA-AU può essere sostituito con ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Indicatori digitali - 4 pezzi KPSA02-105 bagliore rosso super brillante con un'altezza delle cifre di 5,08 mm. Può essere fornito dalla stessa serie KPSA02-xxx o KCSA02-xxx. (solo non verdi: si illumineranno debolmente) Non sono a conoscenza di altri analoghi di dimensioni simili con una luminosità decente. In HG1, HG3, la connessione dei segmenti catodici è diversa da HG2, HG4, perché per me era più conveniente cablare il circuito stampato. A questo proposito, nel programma viene utilizzata una diversa tabella di generazione dei caratteri. Resistenze e condensatori SMD usati per montaggio superficiale misure standard 0805 e 1206, LED D1-D7 misura standard 0805. LED bianchi e infrarossi con diametro di 3 mm. La scheda dispone di 13 fori passanti nei quali devono essere installati i ponticelli. Come sensore di temperatura viene utilizzato un DS18B20 con interfaccia 1-Wire. LS1 è un normale tweeter piezoelettrico, inserito nel coperchio. Con un contatto è collegato alla scheda tramite una molla installata su di essa, con l'altro è collegato al corpo dell'orologio tramite il coperchio stesso. Risonatore al quarzo da un orologio da polso.

Programmazione, firmware, fusibili

Per la programmazione in-circuit, la scheda ha solo 6 punti di contatto rotondi (J1), poiché un connettore intero non rientra in altezza. Li ho collegati al programmatore utilizzando dispositivo di contatto, costituiti da una spina PLD2x3 pin e molle saldate su di essi, premendoli con una mano sul muso. Di seguito una foto del dispositivo.

L'ho usato perché durante il processo di debug ho dovuto eseguire il reflash dell'MK molte volte. Quando si esegue il flashing del firmware monouso, è più semplice saldare i fili sottili collegati al programmatore alle patch, quindi dissaldarli di nuovo. È più conveniente eseguire il flashing dell'MK senza batteria, ma in modo che l'alimentazione provenga da una delle due fonte esterna+3V, oppure da programmatore con la stessa tensione di alimentazione. Il programma è scritto in assembler in ambiente VMLAB 3.15. Codici sorgente, firmware per FLASH ed EEPROM nell'applicazione.

I bit FUSE del microcontrollore DD1 devono essere programmati come segue:
CKSEL3...0 = 0010 - clock da oscillatore RC interno 8 MHz;
SUT1...0 =10 - Tempo di avvio: 6 CK + 64 ms;
CKDIV8 = 1 - il divisore di frequenza per 8 è disabilitato;
CKOUT = 1 - Clock di uscita su CKOUT disabilitato;
BODLEVEL2…0 = 111 - il controllo della tensione di alimentazione è disabilitato;
EESAVE = 0 - è vietata la cancellazione della EEPROM durante la programmazione del cristallo;
WDTON = 1 - Il timer watchdog non è sempre attivo;
È meglio lasciare intatti i restanti bit FUSE. Il bit FUSE è programmato se impostato a “0”.

È necessario eseguire il flashing della EEPROM con il dump incluso nell'archivio.

Le prime celle EEPROM contengono parametri iniziali dispositivi. La tabella seguente descrive lo scopo di alcuni di essi, che può essere modificato entro limiti ragionevoli.

Indirizzo della cella

Scopo

Parametro

Nota

La quantità di tensione della batteria alla quale si verifica un segnale di basso livello

260 ($ 104) (2,6 V)

coefficiente per correggere il valore della tensione di batteria misurata

intervallo di tempo per il passaggio alla modalità di sospensione

1 unità = 1 secondo

intervallo di tempo per il passaggio alla modalità sospensione quando la torcia è accesa

1 unità = 1 secondo

intervallo di tempo per il passaggio alla modalità di sospensione in modalità di controllo remoto per le fotocamere

1 unità = 1 secondo

I numeri dei tasti IButton sono memorizzati qui

Piccole spiegazioni sui punti:

1 punto. Questo indica il livello di tensione della batteria al quale il LED si accenderà, indicandone il valore basso. L'ho impostato su 2,6 V (parametro - 260). Se hai bisogno di qualcos'altro, ad esempio 2,4 V, allora devi scrivere 240 ($00F0). Il byte basso è archiviato nella cella all'indirizzo $0000 e il byte alto è archiviato in $0001.

2 punti. Dal momento che non l'ho installato sulla scheda resistore variabile Per regolare la precisione della misurazione della tensione della batteria a causa della mancanza di spazio, ho introdotto la calibrazione software. Procedura di calibrazione per misurazione precisa successivo: inizialmente, in questa cella EEPROM è scritto il coefficiente 1024 ($400), è necessario commutare il dispositivo in modalità attiva e guardare la tensione sull'indicatore, quindi misurare la tensione reale sulla batteria con un voltmetro. Il fattore di correzione (K), che deve essere impostato, è calcolato con la formula: K=Uр/Ui*1024 dove Uр è la tensione reale misurata dal voltmetro, Ui è la tensione che è stata misurata dal dispositivo stesso. Dopo aver calcolato il coefficiente “K”, questo viene inserito nel dispositivo (come indicato nelle istruzioni per l'uso). Dopo la calibrazione, il mio errore non ha superato il 3%.

3 punti. Qui è possibile impostare l'ora dopo la quale il dispositivo entrerà in modalità sospensione se non viene premuto alcun pulsante. Il mio costa 16 secondi. Se, ad esempio, devi addormentarti in 30 secondi, allora dovrai annotare 30 ($ 26).

Ai punti 4 e 5 lo stesso.

6 punti. All'indirizzo $0030 viene memorizzato il codice della famiglia di chiave zero (Dallas 1-Wire), quindi il suo numero a 48 bit e il CRC. E quindi 50 tasti in sequenza.

Configurazione, caratteristiche operative

La configurazione del dispositivo si riduce alla calibrazione della misurazione della tensione della batteria, come descritto sopra. È inoltre necessario rilevare la deviazione della frequenza dell'orologio per 1 ora, calcolare e inserire il valore di correzione appropriato (la procedura è descritta nelle istruzioni per l'uso).

Il dispositivo è alimentato da batteria al litio CR2032 (3 V) e consuma circa 4 µA in modalità sospensione e 5...20 mA in modalità attiva, a seconda della luminosità dell'indicatore. Con un utilizzo quotidiano di cinque minuti modalità attiva La batteria dovrebbe durare circa 2...8 mesi a seconda della luminosità. La cassa dell'orologio è collegata al negativo della batteria.

La lettura delle chiavi è stata testata sul DS1990. L'emulazione è stata testata sui citofoni METAKOM. Sotto numeri seriali da 46 a 49 (ultimi 4) lampeggiano (tutte le chiavi sono memorizzate in EEPROM, possono essere cambiate prima del lampeggio) chiavi universali per citofoni. La chiave registrata con il numero 49 ha aperto tutti i citofoni METAKOM che ho incontrato, non ho avuto la possibilità di testare il resto delle chiavi universali, ho preso i loro codici dalla rete.

Il controllo remoto per fotocamere è stato testato sui modelli Pentax optio L20 e Nikon D3000. Non è stato possibile ottenere Canon per la revisione.

Il manuale utente occupa 13 pagine, quindi non l'ho inserito nell'articolo, ma l'ho inserito in un'appendice in formato PDF.

L'archivio contiene:
Schema in e GIF;
Disegno del circuito stampato e disposizione degli elementi nel formato;
Firmware e codice sorgente in assembler;

Elenco dei radioelementi

Designazione Tipo Denominazione Quantità NotaNegozioIl mio blocco note
DD1 MK AVR 8 bit

ATmega168PA

1 PA-AU Al blocco note
U2 termometro

DS18B20

1 Al blocco note
Q1 Transistor MOSFET

2N7002

1 Al blocco note
C1, C2 Condensatore30 pF2 Al blocco note
C3, C4 Condensatore0,1 µF2 Al blocco note
C5 Condensatore elettrolitico47 µF1 Al blocco note
R1-R8, R17 Resistore

100 ohm

9 Al blocco note
R9 Resistore

10 kOhm

1 Al blocco note
R10 Resistore

8,2 Ohm

1 Al blocco note
R11 Resistore

300 ohm

1 Al blocco note
R12 Resistore

2 MOhm

1 Al blocco note
R13 Resistore

220 kOhm

1 Al blocco note
R14 Resistore

30 kOhm

1 Al blocco note
R15, R19 Resistore

4,7 kOhm

2 Al blocco note
R16 Resistore

20 kOhm

1
20 agosto 2015 alle 12:34

Orologio elettronico fatto in casa, base dell'elemento- parte 1, misurazione del tempo

  • Fai da te o fai da te

Probabilmente a ogni fanatico appassionato di elettronica fatta in casa prima o poi viene l'idea di realizzare il proprio orologio unico. L’idea è abbastanza buona, vediamo di capire come e cosa è meglio realizzarli. Come punto di partenza, supponiamo che una persona sappia programmare i microcontrollori, capisca come inviare 2 byte su una porta i2c o seriale e sappia saldare insieme diversi fili. In linea di principio, questo è sufficiente.

È chiaro che funzione chiave orologio - misura del tempo (chi l'avrebbe mai detto, vero?). Ed è consigliabile farlo nel modo più accurato possibile, ci sono diverse opzioni e insidie.

Quindi, quali metodi di misurazione del tempo sono disponibili nell'hardware che possiamo utilizzare?

Oscillatore RC CPU integrato

Più un'idea semplice Ciò che potrebbe venire in mente è semplicemente impostare un timer software e contare i secondi. Quindi questa idea non va bene. L'orologio funzionerà, ovviamente, ma la precisione del generatore integrato non è regolata in alcun modo e può “fluttuare” entro il 10% del valore nominale. È improbabile che qualcuno abbia bisogno di un orologio che duri 15 minuti al mese.

Modulo tempo reale DS1307

Un'opzione più corretta, utilizzata anche nella maggior parte dei prodotti "popolari", è un orologio in tempo reale. Il microcircuito comunica con il microcontrollore tramite I2C e richiede un cablaggio minimo (quarzo e una coppia di resistori). Il prezzo è di circa 100 rubli per chip, o circa 1 dollaro su eBay per una scheda già pronta con un chip, un modulo di memoria e un connettore per la batteria.

Schema dalla scheda tecnica:

Ciò che è altrettanto importante, il microcircuito è prodotto in un pacchetto DIP, il che significa che qualsiasi radioamatore alle prime armi può saldarlo. La batteria integrata mantiene l'orologio in funzione anche se l'alimentazione è spenta.

Sembrerebbe che tutto vada bene, se non fosse per un problema: bassa precisione. La precisione approssimativa dell'orologio al quarzo è di 20-30 ppm. La designazione ppm - parti per milione, mostra il numero di parti per milione. Sembrerebbe che 20 milionesimi siano super, ma per una frequenza di 32768Hz risulta 20*32768/1000000 = ±0,65536Hz, cioè già mezzo hertz. Con semplici calcoli si può vedere che con tale differenza il generatore “fa clic” su 56mila cicli in più (o mancanti) al giorno, che corrispondono a 2 secondi al giorno. Esistono diversi tipi di quarzo, alcuni utenti hanno scritto anche di un errore di 5 secondi al giorno. In qualche modo non è molto preciso: in un mese un orologio del genere richiederà almeno un minuto. Questa è già una differenza significativa, evidente ad occhio nudo (quando la serie TV preferita della nonna inizia alle 11.00 e l'orologio mostra le 11.05, lo sviluppatore di un orologio del genere sarà imbarazzato di fronte ai parenti).

Tuttavia, poiché la temperatura nella stanza è più o meno stabile e la frequenza del quarzo non cambierà molto, è possibile aggiungere una correzione software. Un altro consiglio dato sui forum è di utilizzare orologi al quarzo di vecchia data schede madri, secondo le recensioni, lì sono abbastanza accurati.

Modulo in tempo reale DS3231

Non siamo i primi a porre la questione della precisione e l'azienda di Dallas, seguendo i desideri, ha rilasciato un modulo più avanzato: DS3231. Si chiama "Extremely Accurate Real Time Clock" e ha un generatore integrato con correzione della temperatura. La precisione è 10 volte superiore ed è di 2 ppm. Il prezzo è un po 'più alto, ma il corpo del chip è progettato per il montaggio SMD, la saldatura non è così conveniente, ma puoi acquistare una scheda già pronta su eBay.


(foto dal sito del venditore)

Una precisione di 6 secondi al mese è già un buon risultato. Ma andremo oltre: idealmente, gli orologi del 21° secolo non necessitano affatto di essere regolati.

Modulo radio DCF-77

Il metodo è piuttosto esotico, ma per ragioni di completezza non può essere ignorato. Pochi lo sanno, ma già dagli anni '70 i segnali orari precisi vengono trasmessi via radio. Il trasmettitore DCF-77 si trova in Germania vicino a Francoforte, e sulla frequenza VHF 77,5 KHz vengono trasmessi i timestamp precisi (sì, avevano già muro e un orologio da tavolo, che non necessitano di essere regolati).

L'aspetto positivo di questo metodo è che il circuito ha un basso consumo energetico, quindi ora stanno persino producendo orologio da polso con questa tecnologia. Una scheda ricevente DCF-77 già pronta può essere acquistata su eBay, il prezzo richiesto è di $ 20.

Molti orologi e stazioni meteorologiche hanno la capacità di ricevere DCF-77, l'unico problema è che il segnale praticamente non raggiunge la Russia. Mappa di copertura da Wikipedia:

Come puoi vedere, solo Mosca e San Pietroburgo si trovano al confine della zona di accoglienza. Secondo le recensioni dei proprietari, il segnale può essere ricevuto solo occasionalmente, ecco perché applicazione pratica Ovviamente non funzionerà.

Modulo GPS

Se l'orologio è posizionato vicino alla finestra, è tranquillo metodo reale ottenere l'ora esatta - modulo GPS. Questi moduli possono essere acquistati a buon mercato su eBay (il prezzo di emissione è di $ 10-15). Ad esempio, Ublox NEO-6M si collega direttamente ai pin seriali del processore ed emette stringhe NMEA alla velocità 9600.

I dati hanno approssimativamente il seguente formato: "$GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,*1A" e analizzarli non è difficile nemmeno per un Arduino debole. A proposito, i patrioti possono acquistare il modulo Ublox NEO-7N più costoso, che supporta (secondo le recensioni) sia GPS che Glonass.

Ovviamente il modulo GPS non sa nulla dei diversi fusi orari, quindi lo sviluppatore dovrà pensare da solo al calcolo e al cambio dell'ora legale/solare. Un altro aspetto negativo utilizzando il GPS- consumo energetico relativamente elevato (tuttavia, alcuni moduli possono essere commutati in "modalità sleep" utilizzando comandi separati).

Wifi

E infine, l'ultimo (e il più ovvio al momento) modo per ottenere l'ora esatta è prenderlo da Internet. Ci sono due approcci qui. Il primo, e il più semplice, è usare qualcosa come un Raspberry PI con Linux come scheda orologio, quindi non devi fare nulla, tutto funzionerà immediatamente. Se vuoi qualcosa di “esotico”, l’opzione più interessante è il modulo esp8266.

Questo è un modulo WiFi economico (il prezzo di emissione è di circa 200 rubli su eBay) può comunicare con il server tramite la porta seriale del processore, se lo si desidera, può anche essere riflashato (ci sono molti firmware di terze parti), e parte della logica (ad esempio, il polling del time server) può essere eseguita nel modulo stesso. Firmware di terze partiÈ supportato un sacco di tutto, da Lua a C++, quindi ci sono abbastanza opzioni per "mostrare il tuo cervello".

A questo punto il discorso sulla misurazione del tempo può probabilmente essere chiuso. Nella parte successiva daremo uno sguardo più da vicino ai processori e ai metodi di output del tempo.

Per coloro che capiscono almeno un po' i microcontrollori e vogliono anche creare un sistema semplice e dispositivo utile per casa, non c'è niente meglio costruire con indicatori LED. Una cosa del genere può decorare la tua stanza, oppure può essere usata come un regalo unico fatto a mano, dal quale acquisterà ulteriore valore. Il circuito funziona come un orologio e come un termometro: le modalità vengono cambiate con un pulsante o automaticamente.

Schema elettrico di un orologio fatto in casa con termometro

Microcontrollore PIC18F25K22 si occupa di tutta l'elaborazione e la tempistica dei dati e di una condivisione ULN2803A Non resta che coordinare le sue uscite con l'indicatore LED. Piccola scheggia DS1302 funziona come un timer di precisi segnali dei secondi, la sua frequenza è stabilizzata da un risuonatore al quarzo standard da 32768 Hz. Ciò complica in qualche modo il design, ma non dovrai regolare e regolare costantemente l'ora, che sarà inevitabilmente ritardata o affrettata se te la cavi con un risonatore al quarzo non accordato casuale di pochi MHz. Un orologio come questo è più un semplice giocattolo che un orologio preciso e di alta qualità.

Se necessario, i sensori di temperatura possono essere posizionati lontano dall'unità principale: sono collegati ad essa tramite un cavo a tre fili. Nel nostro caso un sensore di temperatura è installato nel blocco e l'altro si trova all'esterno, su un cavo lungo circa 50 cm e anche quando abbiamo provato un cavo da 5 m ha funzionato perfettamente.

Il display dell'orologio è composto da quattro grandi indicatori digitali a LED. Originariamente erano a catodo comune ma cambiati in anodo comune versione finale. Puoi installarne altri, quindi selezionare semplicemente i resistori limitatori di corrente R1-R7 in base alla luminosità richiesta. Era possibile posizionarlo su un comune, con parte elettronica orologio, scheda, ma questo è molto più universale: all'improvviso vuoi installare un indicatore LED molto grande in modo che possano essere visti da una lunga distanza. Un esempio di tale progettazione di un orologio stradale è qui.

L'elettronica stessa parte da 5 V, ma affinché i LED si accendano intensamente è necessario utilizzare 12 V. Dalla rete, l'alimentazione viene fornita tramite un adattatore trasformatore step-down allo stabilizzatore 7805 , che produce una tensione rigorosamente di 5 V. Presta attenzione alla piccola batteria cilindrica verde: funge da fonte di alimentazione di riserva in caso di perdita della rete a 220 V. Non è necessario portarla a 5 V - è agli ioni di litio O Batteria NiMH a 3,6 volt.

Per il corpo puoi usare vari materiali- legno, plastica, metallo o integrazione dell'intera struttura orologio fatto in casa a quello industriale già pronto, ad esempio da un multimetro, un sintonizzatore, un ricevitore radio e così via. L'abbiamo realizzato in plexiglass perché è facile da lavorare e permette di vedere l'interno in modo che tutti possano vederlo: questo orologio è stato assemblato con le tue mani. E, soprattutto, era disponibile :)

Qui puoi trovare tutti i dettagli necessari per il progetto di orologio digitale fatto in casa proposto, incluso lo schema del circuito, il layout del PCB, il firmware PIC e

I migliori articoli sull'argomento