Índice:
- Etapa 1: Etapa 1: esquemas
- Etapa 2: Etapa 2: Protótipo da placa de ensaio
- Etapa 3: Etapa 3: Construção final
- Etapa 4: Etapa 4: criar um soquete para o monitor e dar as pernas
- Etapa 5: Etapa 5: Verificar a fiação da placa de circuito e preparar para calibrar
- Etapa 6: Etapa 6: Calibração do circuito
- Etapa 7: Etapa 7: o programa Arduino
- Etapa 8: Etapa 8: Oferta PCBWay
Vídeo: Relógio Arduino de 60 Hz: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Este relógio digital baseado em Arduino é sincronizado pela linha de energia de 60Hz. Ele tem um display de ânodo comum de 4 dígitos e 7 segmentos simples e barato que mostra horas e minutos. Ele usa um detector cruzado para detectar quando a onda senoidal de 60 Hz que chega cruza o ponto de tensão zero e deriva uma onda quadrada de 60 Hz.
Em curtos períodos de tempo, a frequência da onda senoidal de entrada da linha de alimentação pode variar muito ligeiramente devido à carga, mas em longos períodos de tempo ela atinge a média de 60 Hz com muita precisão. Podemos aproveitar isso para derivar uma fonte de tempo para sincronizar nosso relógio.
Etapa 1: Etapa 1: esquemas
Existem duas versões do circuito, dependendo se você deseja usar um transformador com uma derivação central ou um sem; em ambos os casos, a operação do circuito é quase idêntica. Para esta construção, usei um adaptador de parede (sem torneira central) que produz 12 V CA. Vou usar este projeto (Digital Clock1 Circuit Diagram) para a descrição do circuito. Observe que é importante usar um adaptador de parede que produza 12 V CA, não 12 V CC, para que possamos acessar a onda senoidal CA para cronometrar. Você provavelmente também poderia usar um transformador que produza 9 V CA, remova o R19 e faça com que ele funcione também, mas 12 V está muito comumente disponível. É assim que o circuito funciona:
120 Vca a 60 Hz é convertido em 12 Vca pelo transformador TR1. Isso é alimentado ao diodo D4 e retificado de forma que apenas + ve tensão seja alimentada e suavizada para aproximadamente CC com ondulação, pelo capacitor C3. A tensão em C3 é fornecida ao regulador de tensão 7805 (U6) por meio do resistor R19. R19 é usado para reduzir a tensão em C3, que no meu caso foi medida em aproximadamente 15 VCC. Isso pode ser regulado pelo 7805, mas com esse nível de entrada, o 7805 deve cair aproximadamente 10 VCC e, como resultado, fica bastante quente. Ao usar o R19 para diminuir a tensão para cerca de 10 VCC, evitamos que o U6 aqueça muito. Portanto, esta não é uma técnica de conversão de energia eficiente, mas funciona para nossos propósitos. NOTA: use pelo menos um resistor de 1 / 2W ou mais aqui. O circuito consome cerca de 55 ma, então a dissipação de energia em R19 é de cerca de 1 / 3W com base em P = I ** 2 * R ou P = 55ma x 55ma x 120 ohms = 0,363 W. O Next U6 produz 5V DC puro com C4 e C5 na saída para filtrar qualquer ruído na linha de alimentação de 5V. Este 5V DC alimenta todos os ICs da placa. Do TR1, também pegamos uma amostra do sinal AC não filtrado e o alimentamos no potenciômetro RV1, que é usado para ajustar o nível alimentado ao detector de cross over. R18 e R17 formam um divisor de voltagem para reduzir ainda mais o nível de voltagem CA que entra. Lembre-se de que isso está chegando a 12 V CA e precisamos reduzi-lo para menos de 5 V para que funcione com nosso detector cruzado, que é apenas alimentado por 5VDC. R15 e R16 fornecem limitação de corrente, enquanto D1 e D2 têm como objetivo evitar overdriving do op-amp U5. Na configuração mostrada, a saída do U5 no pino 1 alternará entre + 5 V e 0 V cada vez que a onda senoidal de entrada muda de positiva para negativa. Isso gera uma onda quadrada de 60 Hz que é alimentada ao microcontrolador U4. O programa carregado no U4 usa essa onda quadrada de 60 Hz para incrementar o relógio a cada minuto e hora. Como isso é feito, será discutido na seção sobre o programa de software e nos comentários do software. U7, o registrador de deslocamento 74HC595 é usado porque temos um número limitado de pinos digitais no microprocessador, então ele é usado para expandir o número de saídas. Usamos 4 pinos digitais no microprocessador, mas podemos controlar 7 segmentos no display através do 74HC595. Isso é realizado deslocando padrões predeterminados de bits, armazenados no microcontrolador, e que representam cada dígito a ser exibido, para o registrador de deslocamento. O display usado aqui é um ânodo comum, então precisamos inverter os níveis de sinal que saem do 74HC595 para ligar um segmento. Quando um segmento deve ser ligado, o sinal que sai do pino de saída do 74HC595 estará em + 5V, mas precisamos que o pino que está alimentando no display esteja em 0V para ligar aquele segmento de display. Então, para fazer isso, precisamos dos inversores hexadecimais U2 e U3. Infelizmente, um IC inversor só pode lidar com 6 inversões, então precisamos de duas delas, embora no segundo usemos apenas uma das 6 portas. Desperdício, infelizmente. Você pode perguntar por que não usar um visor de tipo cátodo comum aqui e eliminar U2 e U3? Bem, a resposta é: você pode. Acontece que tenho um tipo de ânodo comum em meu suprimento de peças. Se você tem ou deseja usar um display do tipo cátodo comum apenas elimine U2 e U3 e religue Q1 - Q4 para que os coletores do transistor sejam conectados aos pinos do display e os emissores do transistor sejam conectados ao aterramento. Q1 - Q4 controla qual dos quatro visores de 7 segmentos está ativo. Isso é controlado pelo microcontrolador, através dos pinos conectados à base dos transistores Q1 - Q4. Os botões de incremento e definição serão usados para definir manualmente a hora correta do relógio quando se trata de realmente usar o relógio. Quando o botão Set é pressionado uma vez, o botão Increment pode ser usado para percorrer as horas mostradas no visor. Quando o botão Set é pressionado novamente, o botão de incremento pode ser usado para percorrer os minutos mostrados no visor. Quando o botão Set é pressionado pela terceira vez, a hora é acertada. R13 e R14 puxam os pinos do microcontrolador associados a esses botões quando não estão em uso. Observe que aqui retiramos o U4 (Atmega328p) da típica placa de protótipo do Arduino UNO e o colocamos na placa de protótipo com o resto do nosso circuito. Para fazer isso, devemos fornecer no mínimo o cristal X1 e os capacitores C1 e C2 para fornecer uma fonte de clock para o microcontrolador, ligar o pino 1, o pino de reinicialização, alto e fornecer energia de 5 VCC.
Etapa 2: Etapa 2: Protótipo da placa de ensaio
Independentemente de você estar construindo o circuito exatamente como mostrado no diagrama do circuito ou talvez usando um transformador, tipo de tela ou outros componentes ligeiramente diferentes, você deve fazer a breadboard do circuito primeiro para garantir que ele funcione e que você entenda como funciona.
Nas fotos você pode ver que o breadboard para a coisa toda exigiu algumas placas, bem como uma placa Arduino Uno. Portanto, para programar o microcontrolador ou experimentar ou fazer alterações no software, você precisará inicialmente do IC do microcontrolador em uma placa UNO para que possa conectar um cabo USB a ele e ao seu computador para carregar o programa ou fazer alterações no software. Depois de fazer o relógio funcionar na placa de ensaio e ter seu microcontrolador programado, você pode desconectá-lo e conectá-lo ao soquete em seu relógio permanente de construção final na placa de protótipo. Certifique-se de seguir as precauções antiestáticas ao fazer isso. Use uma pulseira antiestática ao manusear o microprocessador.
Etapa 3: Etapa 3: Construção final
O circuito é construído em um pedaço de placa protótipo e conectado ponto a ponto usando fio wire wrap # 30 AWG. Ele fornece um resultado resistente e confiável. Como o transformador que tenho tem um plugue macho de 5 mm na extremidade do cabo, montei o receptáculo fêmea correspondente na parte de trás da placa cortando, dobrando e perfurando um pedaço de tira plana de alumínio de 1/2 de largura para fazer um suporte e aparafusá-lo à placa com pequenas porcas e parafusos 4-40. Você poderia simplesmente cortar o conector e soldar os fios de alimentação restantes à placa e economizar cerca de 20 minutos de trabalho, mas eu não queria o transformador permanentemente conectado para a placa.
Etapa 4: Etapa 4: criar um soquete para o monitor e dar as pernas
Como a tela tem 16 pinos, 8 de cada lado, com espaçamento entre os pinos mais largo do que um soquete IC padrão de 16 pinos, precisamos ajustar o tamanho do soquete para caber na tela. Você pode fazer isso simplesmente usando um alicate para cortar o plástico conectando os dois lados do soquete, separe-os e solde-os separadamente na placa com um espaçamento que corresponda ao espaçamento dos pinos na tela. É vantajoso fazer isso para que você não precise soldar diretamente nos pinos da tela e expor a tela ao calor excessivo. Você pode ver o soquete no qual fiz isso na parte superior da placa na imagem acima.
Para que a tela ficasse em pé, aparafusei dois parafusos de 1 nos dois orifícios dos cantos inferiores da placa do protótipo, conforme mostrado nas fotos, para fazer uma base simples. Isso foi muito ruim, então se você fizer isso, você pode deseja colocar algo pesado na parte de trás dos parafusos para estabilizá-lo.
Etapa 5: Etapa 5: Verificar a fiação da placa de circuito e preparar para calibrar
Uma vez que a placa de circuito esteja conectada, mas antes de conectar os ICs ou display ou ligá-lo, é uma boa idéia verificar as conexões da placa com um DVM. Você pode definir a maioria dos DVMs para que emitam um bipe quando houver continuidade. Defina seu DVM neste modo e, em seguida, seguindo seu diagrama de circuito, verifique o máximo possível de conexões de circuito. Verifique se há um circuito aberto, ou próximo a ele, entre os pontos + 5V e terra. Verifique visualmente se todos os componentes estão conectados aos pinos corretos.
Em seguida, conecte seu transformador ao circuito e ligue-o. Verifique se você tem exatamente 5 Vcc no barramento de alimentação de 5 V com um osciloscópio ou DVM antes de conectar qualquer IC ou monitor. Em seguida, conecte SOMENTE o IC Op-Amp U5 em preparação para a próxima etapa. Aqui, verificaremos se nosso circuito cruzado está gerando uma onda quadrada e ajustaremos o potenciômetro RV1 para um sinal limpo de 60 Hz.
Etapa 6: Etapa 6: Calibração do circuito
A única calibração a ser feita é ajustar o potenciômetro RV1 para o nível correto de sinal que alimenta o detector de cross over. Existem duas maneiras de fazer isso:
1. Coloque uma ponta de prova do osciloscópio no pino 1 do U5 e certifique-se de conectar o fio terra da ponta de prova do osciloscópio ao terra do circuito. Em seguida, ajuste o RV1 até que você tenha uma onda quadrada limpa, conforme mostrado na imagem acima. Se você ajustar o RV1 muito longe de uma forma ou de outra, não terá onda quadrada ou terá uma onda quadrada distorcida. Certifique-se de que a frequência da onda quadrada seja 60 Hz. Se você tiver um osciloscópio moderno, ele provavelmente indicará a frequência. Se você tiver um osciloscópio antigo como o meu, certifique-se de que o período de onda quadrada seja de aproximadamente 16,66 ms ou 1/60 segundos. 2. Usando um contador de frequência ou DVM no modo Frequência, meça a frequência no Pino 1 do U5 e ajuste RV1 para exatamente 60 Hz. Uma vez que a calibração for feita, desligue o circuito e conecte todos os ICs e o display para completar a construção do circuito.
Etapa 7: Etapa 7: o programa Arduino
O programa é totalmente comentado para que você descubra os detalhes de cada etapa. Devido à complexidade do programa, é difícil descrever todas as etapas, mas em um nível muito alto é assim que funciona:
O microprocessador recebe a onda quadrada de 60 Hz que chega e conta 60 ciclos e incrementa a contagem de segundos a cada 60 ciclos. Quando a contagem de segundos atinge 60 segundos, ou 3600 ciclos, a contagem de minutos é incrementada e a contagem de segundos é zerada. Quando a contagem de minutos atinge 60 minutos, a contagem de horas é incrementada e a contagem de minutos é zerada. a contagem de horas é redefinida para 1 após 13 horas, portanto, este é um relógio de 12 horas. Se você quiser um relógio de 24 horas, basta alterar o programa para zerar as horas após 24 horas. Este é um projeto experimental, então tentei usar um loop Do-While para suprimir o salto do switch nos botões Set e Increment. Funciona razoavelmente bem. Quando o botão Set é pressionado uma vez, o botão Increment pode ser usado para percorrer as horas mostradas no visor. Quando o botão Set é pressionado novamente, o botão de incremento pode ser usado para percorrer os minutos mostrados no visor. Quando o botão Set é pressionado pela terceira vez, a hora é acertada e o relógio começa a funcionar. Os padrões de 0 e 1 que são usados para exibir todos os números nos visores de 7 segmentos são armazenados na matriz chamada Seven_Seg. Dependendo da hora do relógio atual, esses padrões são alimentados para o 74HC595 IC e enviados para o display. Qual dos 4 dígitos do display é ligado a qualquer momento para receber esses dados é controlado pelo microprocessador através do display Dig 1, 2, 3, 4 pinos. Quando o circuito é ligado, o programa primeiro executa uma rotina de teste chamada Test_Clock que envia os dígitos corretos para iluminar cada display com uma contagem de 0 a 9. Portanto, se você ver isso quando ligar você saberá que construiu tudo corretamente.
Etapa 8: Etapa 8: Oferta PCBWay
Isso conclui este post, mas o patrocinador deste projeto é a PCBWay que, no momento, está comemorando seu 5º aniversário. Verifique em https://www.pcbway.com/anniversary5sales.html e não se esqueça de que o serviço de montagem custa agora apenas $ 30.
Recomendado:
Como fazer relógio analógico e relógio digital com faixa LED usando o Arduino: 3 etapas
Como fazer relógio analógico e relógio digital com faixa de LED usando o Arduino: Hoje faremos um relógio analógico e relógio digital com faixa de LED. Relógio digital com Led Strip e módulo MAX7219 Dot com Arduino. Corrigirá a hora com o fuso horário local. O relógio analógico pode usar uma faixa de LED mais longa, então pode ser pendurado na parede para se tornar uma arte
Relógio de aposentadoria / Contagem Crescente / Relógio Dn: 4 etapas (com imagens)
Relógio de aposentadoria / Contagem crescente / Dn Clock: Eu tinha alguns desses visores matriciais de LED 8x8 na gaveta e estava pensando no que fazer com eles. Inspirado por outros instructables, tive a ideia de construir um display de contagem regressiva / crescente para fazer a contagem regressiva para uma data / hora futura e se o tempo alvo p
Relógio despertador extra alto inspirado em bomba-relógio com APENAS 5 componentes: 3 etapas
Despertador extra alto inspirado na bomba-relógio com APENAS 5 componentes: Eu criei este despertador fácil de fazer inspirado na bomba-relógio que garante que você acordará de manhã. Usei materiais simples espalhados pela minha casa. Todos os itens usados estão facilmente disponíveis e são baratos. Este alarme inspirado em bomba relógio c
Relógio Vortex: um relógio de pulso com espelho infinito: 10 etapas (com fotos)
Relógio Vortex: um relógio de pulso com espelho infinito: O objetivo deste projeto era criar uma versão vestível de um relógio com espelho infinito. Ele usa seus LEDs RGB para indicar o tempo, atribuindo horas, minutos e segundos às luzes vermelha, verde e azul, respectivamente, e sobrepondo esses tons t
Fazendo um relógio com M5stick C usando Arduino IDE - Relógio em tempo real RTC com M5stack M5stick-C: 4 etapas
Fazendo um relógio com M5stick C usando Arduino IDE | RTC Real Time Clock with M5stack M5stick-C: Olá pessoal, nestes instructables vamos aprender como fazer um relógio com a placa de desenvolvimento m5stick-C do m5stack usando Arduino IDE. Portanto, o m5stick exibirá data, hora & semana do mês na tela