Relógio eletrônico caseiro, base de elementos - parte 1, medição de tempo
Provavelmente, todo nerd que gosta de eletrônicos caseiros, mais cedo ou mais tarde chega à ideia de criar seu próprio relógio. A idéia é muito boa, vamos descobrir como e sobre o que é melhor fazê-las. Como ponto de partida, assumimos que uma pessoa sabe como programar microcontroladores, entende como enviar 2 bytes via i2c ou porta serial e pode soldar vários fios juntos. Em princípio, isso é suficiente.É claro que a função principal de um relógio é medir o tempo (quem teria pensado, sim?). E é desejável fazer isso com a maior precisão possível, existem várias opções e armadilhas.Então, que métodos de medir o tempo disponível no hardware podemos usar?Gerador RC incorporado
A idéia mais simples que pode surgir é simplesmente configurar um cronômetro de software e contar os segundos. Então, essa ideia não é boa. O relógio certamente funcionará, mas a precisão do gerador embutido não é regulada de forma alguma e pode "flutuar" dentro de 10% do valor nominal. É improvável que alguém precise de horas que desaparecem por mês por 15 minutos.Módulo em tempo real DS1307
Uma opção mais correta, que também é usada na maioria dos produtos "folclóricos", é um relógio em tempo real. O chip é trocado com o microcontrolador via I2C, requer um mínimo de ligação (quartzo e um par de resistores). O preço de emissão é de cerca de 100 rublos por microcircuito, ou cerca de US $ 1 por ebee para uma placa acabada com um microcircuito, um módulo de memória e um conector de bateria.Esquema da ficha técnica:
Igualmente importante, o chip está disponível em um pacote DIP, para que qualquer iniciante possa soldá-lo. A bateria interna mantém o relógio funcionando mesmo que a energia tenha sido desligada.Parece que está tudo bem, se não por um problema - baixa precisão. A precisão aproximada do relógio de quartzo é 20-30ppm. A designação ppm - partes por milhão mostra o número de partes por milhão. Parece que 20 milionésimos é super, mas para uma frequência de 32768Hz, ocorre 20 * 32768 / 1.000.000 = ± 0,65536Hz, ou seja, já meio hertz. Por cálculos simples, pode-se ver que o gerador com essa diferença por dia “adere” aos 56 mil ciclos extras (ou ausentes), o que corresponde a 2 segundos por dia. O quartzo pode ser diferente, alguns usuários escreveram sobre um erro de 5 segundos por dia. De alguma forma, não é muito preciso - em um mês esse relógio desaparecerá por pelo menos um minuto. Essa já é uma diferença decente, perceptível a olho nu (quando a série favorita da avó começar às 11h00 e o relógio mostrar 11,05, o desenvolvedor de um relógio assim na frente de parentes ficará desconfortável).No entanto, como a temperatura na sala é mais ou menos estável e a frequência do quartzo não muda muito, você pode adicionar a correção do software. Outro conselho dado nos fóruns é usar um relógio de quartzo de placas-mãe antigas; de acordo com as avaliações, elas são bastante precisas.Módulo em tempo real DS3231
Não somos os primeiros a fazer a pergunta da precisão, e Dallas, atendendo aos nossos desejos, lançou um módulo mais avançado - o DS3231. É chamado de "Relógio de tempo real extremamente preciso", possui um gerador embutido com correção de temperatura. A precisão é 10 vezes maior e é 2ppm. O preço de emissão é um pouco mais alto, mas a caixa do microcircuito foi projetada para montagem em SMD, a soldagem não é tão conveniente, mas você pode comprar uma placa pronta.
(foto do site do vendedor)Precisão de 6 segundos por mês, esse já é um bom resultado. Mas vamos além - idealmente, o relógio do século 21 não precisa ser ajustado.Módulo de rádio DCF-77
O método é bastante exótico, mas por ser completo, não pode ser ignorado. Poucas pessoas sabem, mas os sinais de tempo exato são transmitidos pelo rádio desde os anos 70. O transmissor DCF-77 está localizado na Alemanha, perto de Frankfurt, e na frequência SDV de 77,5 KHz, os carimbos de hora são transmitidos (sim, eles já tinham um relógio de parede e de mesa há 20 anos que não precisavam ser ajustados).O método é bom, pois o circuito tem baixo consumo de energia; portanto, até relógios de pulso com essa tecnologia estão sendo produzidos. O painel de admissão terminado DCF-77 pode ser comprado no ebay, o preço é de US $ 20.
Muitos relógios e estações meteorológicas têm a capacidade de receber o DCF-77, o único problema é que o sinal praticamente não chega à Rússia. Mapa de cobertura da Wikipedia:
Como você pode ver, apenas Moscou e São Petersburgo estão na fronteira da área de recepção. Segundo os proprietários, apenas ocasionalmente um sinal pode ser recebido, o que obviamente não é adequado para uso prático.Módulo GPS
Se o relógio não estiver longe da janela, um método muito real de obter uma hora precisa é um módulo GPS. Esses módulos podem ser comprados de maneira barata no ebay (preço de emissão de US $ 10 a 15). Por exemplo, o Ublox NEO-6M se conecta diretamente aos pinos seriais do processador e gera seqüências NMEA a uma velocidade de 9600. Os
dados são fornecidos aproximadamente neste formato "$ GPRMC, 040302.663, A, 3939.7, N, 10506.6, W, 0,27,358.86,200804 ,, * 1A ", e não é difícil analisá-los, mesmo para um Arduino fraco. Os patriotas, a propósito, podem comprar o módulo Ublox NEO-7N mais caro, que suporta (de acordo com as avaliações) GPS e Glonass.Obviamente, o módulo GPS não sabe nada sobre fusos horários diferentes; portanto, o desenvolvedor precisará pensar por si mesmo para calculá-los e alterar o horário de verão / inverno. Outra desvantagem do uso do GPS é o seu consumo de energia relativamente alto (no entanto, alguns módulos podem ser colocados no "modo de suspensão" com comandos separados).Wi-fi
E finalmente, a última (e mais óbvia no momento) maneira de obter a hora exata é tirá-la da Internet. Existem duas abordagens. O primeiro e mais simples é usar algo como um PI de framboesa com o Linux como placa do relógio, para que você não precise fazer nada, tudo funcionará imediatamente. Se você quer "exótico" - a opção mais interessante é o módulo esp8266.
Isso é barato (o preço é de cerca de 200 r por ebay). O módulo WiFi pode ser trocado com o servidor através da porta serial do processador, se você desejar, também pode ser atualizado (há muito firmware de terceiros) e parte da lógica (por exemplo, pesquisar o servidor de horário) pode ser feita no próprio módulo. O firmware de terceiros suporta um monte de tudo, de Lua a C ++, portanto, as opções para "esticar seu cérebro" são suficientes.Nesse tópico, as medições de tempo provavelmente podem ser fechadas. Na próxima parte, examinaremos mais de perto os processadores e métodos para gerar tempo. Source: https://habr.com/ru/post/pt383091/
All Articles