Brincando com o Relógio de Parede: 14 Passos
Brincando com o Relógio de Parede: 14 Passos
Anonim
Image
Image
Princípio de trabalho
Princípio de trabalho

Relógios de mão eletrônicos (quartzo de marcação comercial) não são nada de especial hoje em dia. Pode ser comprado em várias lojas. Em alguns deles são extremamente baratos; com preço de cerca de € 2 (50CZK). Esse preço baixo pode ser uma motivação para examiná-los mais de perto. Então eu reconheci, eles podem ser brinquedos interessantes para iniciantes em eletrônica, que não têm tantos recursos e que se interessam principalmente por programação. Mas gostaria de apresentar o próprio desenvolvimento a outros. Como relógios de parede baratos são muito tolerantes a experimentos e tentativas de iniciantes, decidi escrever este artigo, onde gostaria de apresentar idéias básicas.

Etapa 1: Princípio de funcionamento

Princípio de trabalho
Princípio de trabalho
Princípio de trabalho
Princípio de trabalho

É fácil reconhecer aquele relógio usando para se movimentar algum tipo de motor de passo. Aquele que já quebrou alguns relógios reconheceu que é apenas uma bobina em vez de duas no motor de passo usual. Neste caso, estamos falando de um motor de passo "monofásico" ou "monopolar". (Este nome não é usado com tanta frequência, é principalmente uma derivação analógica para marcação usada para outros motores de passo full stack). Quem já começa a pensar no princípio de funcionamento tem que se perguntar como é possível que o motor gire sempre na direção certa. Para a descrição do princípio de funcionamento é útil a seguinte imagem, que mostra tipos mais antigos de motores.

Na primeira imagem é visível uma bobina com terminais A e B, estator cinza e rotor vermelho-azul. O rotor é feito de ímã permanente, por isso, é marcado de cor, para ser visível, em que direção é magnetizado (não é tão crucial, qual pólo é o norte e o que é o sul). No estator você pode ver duas "ranhuras" próximas ao rotor. Eles são muito importantes para o princípio de funcionamento. O motor funciona em quatro etapas. Descreveremos cada etapa usando quatro imagens.

Durante a primeira etapa (segunda imagem) é o motor energizado, esse terminal A é conectado ao pólo positivo e o terminal B é conectado ao pólo negativo. Faz fluxo magnético, por exemplo na direção da seta. O rotor irá parar na posição, essa posição corresponderá ao fluxo magnético.

A segunda etapa segue após a desconexão da energia. Em seguida, o fluxo magnético no estator é interrompido e o ímã tende a girar para a posição, sua polarização é na direção do volume máximo do material magnético macio do estator. E aqui são cruciais essas duas ranhuras. Eles apontam para pequeno desvio de volume máximo. Então o rotor é girado um pouco no sentido horário. Conforme mostrado na imagem 3.

A próxima etapa (quarta imagem) é com a polaridade reversa conectada à tensão (terminal A no pólo negativo, terminal B no pólo positivo). Isso significa que o ímã no rotor irá girar na direção do campo magnético pela bobina. O rotor usa a direção mais curta, ou seja, novamente no sentido horário.

A última (quarta) etapa (quinta imagem) é igual à segunda. O motor está sem tensão novamente. Apenas uma diferença é que a posição inicial do ímã é oposta, mas o rotor se moverá novamente na direção do volume máximo de material. Isso é novamente uma posição um pouco no sentido horário.

Isso é tudo ciclo, o primeiro passo segue novamente. Para o movimento motor, as etapas dois e quatro entendem como estáveis. Em seguida, é transferido mecanicamente para a taxa de transferência 1:30 da caixa de velocidades para a posição do ponteiro dos segundos do relógio.

Etapa 2: Princípio de funcionamento cont

Princípio de Trabalho Cont
Princípio de Trabalho Cont
Princípio de Trabalho Cont
Princípio de Trabalho Cont
Princípio de Trabalho Cont
Princípio de Trabalho Cont
Princípio de Trabalho Cont
Princípio de Trabalho Cont

As figuras mostram a forma de onda da tensão nos terminais do motor. Números significam todos os segundos. Na realidade, os pulsos são muito menores em comparação com os espaços. São cerca de alguns milissegundos.

Etapa 3: Desmontagem prática 1

Desmontagem prática 1
Desmontagem prática 1

Usei um dos relógios de parede mais baratos do mercado para uma desmontagem prática. Eles têm poucos prós. Uma é que o preço é tão baixo que podemos comprar alguns deles para experimentos. Como a fabricação é fortemente orientada para o preço, eles não contêm nenhuma solução inteligente complicada, nem parafusos complicados. Na realidade, eles não contêm parafusos, apenas travas de plástico. Precisamos apenas de ferramentas mínimas. Por exemplo, precisamos de uma chave de fenda apenas para arrancar essas travas.

Para a desmontagem do relógio de parede precisamos de chave de fenda de ponta chata (ou qualquer outro bastão), prendedor de roupa e tapete de trabalho com bordas salientes (isso não é obrigatório, mas facilita a busca por rodas e outras peças pequenas).

Etapa 4: Desmontagem prática 2

Desmontagem prática 2
Desmontagem prática 2
Desmontagem prática 2
Desmontagem prática 2
Desmontagem prática 2
Desmontagem prática 2
Desmontagem prática 2
Desmontagem prática 2

Na parte de trás do relógio de parede podem ser encontradas três travas. Dois superiores nas posições de números 2 e 10 podem ser destravados e a tampa de vidro pode ser aberta. Quando o vidro está aberto, é possível puxar os ponteiros do relógio. Não é necessário marcar a posição deles. Sempre os colocaremos de volta na posição 12:00:00. Quando os ponteiros do relógio estão desligados, podemos desmontar o movimento do relógio. Possui duas travas (nas posições 6 e 12). Recomenda-se o movimento de puxar o mais reto possível, caso contrário, o movimento pode ficar preso.

Etapa 5: Desmontagem prática 3

Desmontagem prática 3
Desmontagem prática 3
Desmontagem prática 3
Desmontagem prática 3
Desmontagem prática 3
Desmontagem prática 3

Então é possível abrir o movimento. Tem três travas. duas nas posições 3 e 9 horas e a terceira nas 6 horas. Quando aberto, basta retirar a roda dentada transparente entre o motor e a caixa de engrenagens e depois o pinhão, que é conectado ao rotor do motor.

Etapa 6: Desmontagem prática 4

Desmontagem prática 4
Desmontagem prática 4
Desmontagem prática 4
Desmontagem prática 4

A bobina do motor e o estator são mantidos em apenas uma trava (às 12 horas). Não se fixa em nenhum barramento de força, aplica-se a barramentos de força apenas pressionando, então a remoção não é complicada. A bobina é rosqueada no estator sem nenhum suporte. Pode ser facilmente descolado.

Etapa 7: Desmontagem prática 5

Desmontagem prática 5
Desmontagem prática 5
Desmontagem prática 5
Desmontagem prática 5
Desmontagem prática 5
Desmontagem prática 5
Desmontagem prática 5
Desmontagem prática 5

Na parte inferior da bobina está colada uma pequena placa de circuito impresso, que contém um CoB (Chip on Board) com seis saídas. Dois são para alimentação e terminam em blocos quadrados maiores a bordo para aplicar trilhos de alimentação. duas saídas são conectadas ao cristal. A propósito, o cristal tem 32768 Hz e pode ser dessoldado para uso futuro. As duas últimas saídas são conectadas à bobina. Achei mais seguro cortar traços a bordo e soldar os fios às almofadas existentes a bordo. Quando tentei dessoldar a bobina e conectar o fio diretamente à bobina, sempre arranquei o fio da bobina ou danifiquei a bobina. Soldar novos fios à placa é uma possibilidade. Digamos, aquele mais primitivo. Um método mais criativo é conectar a bobina às almofadas de alimentação e manter os trilhos de alimentação para conexão à caixa da bateria. Em seguida, os componentes eletrônicos podem ser colocados dentro da caixa da bateria.

Etapa 8: Desmontagem prática 6

Desmontagem prática 6
Desmontagem prática 6
Desmontagem prática 6
Desmontagem prática 6

A qualidade da soldagem pode ser verificada usando um ohmímetro. A bobina tem resistividade de cerca de 200Ω. Assim que tudo estiver OK, podemos montar o relógio de parede de volta. Eu geralmente jogo os trilhos de força para fora, então tenho mais lugar para meus novos fios. As fotos são tiradas antes do lançamento dos trilhos de energia. Eu me esqueci de tirar a próxima foto quando eles forem removidos.

Quando termino de completar o movimento, estou testando usando o ponteiro dos segundos. Coloquei a mão no eixo e conectei um pouco de energia (usei bateria tipo moeda CR2032, mas AA 1, 5V também pode ser usada). Simplesmente conecte a alimentação em uma polaridade aos fios e depois novamente com a polaridade oposta. O relógio deve marcar e o ponteiro se moverá um segundo. Assim que tiver problemas para completar o movimento de volta, pois os fios ocupam mais lugar, basta girar a bobina e colocá-la do lado oposto. Uma vez que não usa trilhos de energia, não tem efeito no movimento do relógio. Como já foi dito, ao colocar as mãos para trás, você deve colocá-las apontando para 12:00:00. Deve haver distância correta entre os ponteiros das horas e dos minutos.

Etapa 9: Exemplos de uso do relógio de parede

Maioria dos exemplos simples com foco na hora de exibição, mas com várias modificações. Muito popular é a modificação chamada "Relógio Vetinari". Apontando para o livro de Terry Pratchett, onde lorde Vetinari tem relógio de parede em sua sala de espera, que tiquetaqueando irregular. Essa irregularidade perturba as pessoas que esperam. A segunda aplicação popular é o "relógio de sinusite". Significa relógio, que acelera e desacelera com base na curva sinusal, então as pessoas têm sentimento, estão navegando nas ondas. uma das minhas favoritas é a "hora do almoço". Essa modificação significa que o relógio fica um pouco mais rápido no tempo entre 11 a 12 horas (0,8 s), para almoçar mais cedo; e um pouco mais lento durante a hora do almoço entre 12 a 13 horas (1, 2 seg), para ter pouco mais tempo para o almoço e para compensar o tempo perdido.

Para a maioria dessas modificações é suficiente usar o processador mais simples, usando a frequência de trabalho de 32768Hz. Esta frequência é muito popular entre os fabricantes de relógios, porque é fácil fazer cristal com essa frequência, e é proibido ser binário dividido em segundos completos. O uso dessa frequência para o processador tem dois benefícios: podemos facilmente reciclar o cristal a partir do relógio; e os processadores geralmente têm consumo mínimo nesta frequência. O consumo é algo que resolvemos com frequência quando brincamos com o relógio de parede. Especialmente para poder acionar o relógio com a menor bateria, o maior tempo possível. Como já foi dito, a bobina tem resistividade de 200Ω e é projetada para cca 1, 5V (uma bateria AA). Os processadores mais baratos geralmente funcionam com voltagem um pouco maior, mas com duas baterias (3V) funcionando todas elas. Um dos processadores mais baratos em nosso mercado é o Microchip PIC12F629, ou módulos Arduino muito populares. Em seguida, mostraremos como usar as duas plataformas.

Etapa 10: Exemplos de uso do relógio de parede PIC

PIC de exemplos de uso de relógios de parede
PIC de exemplos de uso de relógios de parede
PIC de exemplos de uso de relógios de parede
PIC de exemplos de uso de relógios de parede

O processador PIC12F629 tem tensão operacional de 2,0 V - 5,5 V. O uso de duas "baterias mignon" = células AA (cca 3V) ou dois acumuladores AA recarregáveis (cca 2, 4V) é suficiente. Mas para bobina de relógio é duas vezes mais do que projetado. Causa no mínimo aumento indesejado de consumo. Então é bom adicionar um resistor em série mínimo, que criará um divisor de tensão adequado. O valor do resistor deve ser cerca de 120Ω para energia do acumulador ou 200Ω para energia da bateria calculada para carga resistiva pura. Na prática, o valor pode ser um pouco menor, cerca de 100Ω. Na teoria, um resistor em série com bobina é suficiente. Eu ainda tenho tendência, de alguma forma, de ver o motor como um dispositivo simétrico e então colocar um resistor com meia resistência (47Ω ou 51Ω) próximo a cada terminal da bobina. Algumas construções adicionam diodos de proteção para evitar tensão negativa no processador quando a bobina é desconectada. Por outro lado, a potência de saída das saídas do processador é suficiente para conectar a bobina diretamente ao processador sem qualquer amplificador. O esquema completo para o processador PIC12F629 será semelhante ao descrito na figura 15. Este esquema é válido para relógios sem elementos de controle adicionais. Ainda temos disponível um pino de entrada / saída GP0 e uma entrada apenas GP3.

Etapa 11: Exemplos de uso do relógio de parede Arduino

Exemplos de uso do relógio de parede Arduino
Exemplos de uso do relógio de parede Arduino
Exemplos de uso do relógio de parede Arduino
Exemplos de uso do relógio de parede Arduino
Exemplos de uso do relógio de parede Arduino
Exemplos de uso do relógio de parede Arduino

Uma vez que gostaríamos de usar o Arduino, podemos dar uma olhada na ficha técnica do processador ATmega328. Esse processador tem tensão de trabalho definida como 1,8 V - 5,5 V para frequência de até 4 MHz e 2,7 V - 5,5 V para frequência de até 10 MHz. Precisamos ter cuidado com uma deficiência das placas Arduino. Essa lacuna é a presença de regulador de tensão a bordo. Grande quantidade de reguladores de tensão têm problemas com tensão reversa. Este problema é amplamente e melhor descrito para o regulador 7805. Para nossas necessidades temos que usar a placa marcada como 3V3 (projetada para alimentar 3,3V) especialmente porque esta placa contém cristal de 8MHz e pode ser alimentada a partir de 2, 7V (significa dois AA baterias). O estabilizador usado não será 7805, mas seu equivalente de 3,3V. Uma vez que gostaríamos de ligar a placa sem usar o estabilizador, temos duas opções. A primeira opção é conectar a tensão aos pinos "RAW" (ou "Vin") e + 3V3 (ou Vcc) juntos e acredite, aquele estabilizador usado na sua placa não tem proteção contra subtensão. A segunda opção é simplesmente eliminar o estabilizador. Para isso é bom usar o Arduino Pro Mini, seguindo o esquema de referência. Esse esquema contém o jumper SJ1 (na figura 16 no círculo vermelho) projetado para desconectar o estabilizador interno. Infelizmente, a maioria dos clones não contém esse jumper.

Outra vantagem do Arduino Pro Mini é que ele não contém nenhum conversor adicional, que pode consumir eletricidade durante a execução normal (isso é uma pequena complicação durante a programação). As placas Arduino são equipadas com processadores cada vez mais confortáveis, que não possuem potência suficiente para uma única saída. Então é bom adicionar no mínimo um pequeno amplificador de saída usando um par de transistores. O esquema básico para a energia da bateria será semelhante ao mostrado na figura.

Como o ambiente Arduino (a linguagem "Wiring") tem atributos de sistemas operacionais modernos (então tem problemas com temporização precisa), é bom pensar sobre o uso de fonte de relógio externa para Timer0 ou Timer1. Significa entradas T0 e T1, elas são marcadas como 4 (T0) e 4 (T1). O oscilador simples usando cristal do relógio de parede pode ser conectado a qualquer uma dessas entradas. Depende de quão preciso você gostaria de produzir. A Figura 18 mostra três possibilidades básicas. O primeiro esquema é muito econômico no que diz respeito aos componentes usados. Ele fornece mais saída triangular, mas na faixa de tensão total, então é bom para alimentar entradas CMOS. Segundo esquema usando inversores, eles podem ser CMOS 4096 ou TTL 74HC04. Os esquemas são menos semelhantes entre si, eles estão na forma básica. Terceiro esquema usando o chip CMOS 4060, que permite a conexão direta do cristal (equivalente 74HC4060 usando o mesmo esquema, mas com valores diferentes de resistores). A vantagem deste circuito é que ele contém um divisor de 14 bits, então é possível decidir qual freqüência será usada como entrada do temporizador.

A saída deste circuito pode ser usada para a entrada T0 (pino 4 com marcação Arduino) e então use o Timer0 com entrada externa. Isso não é tão prático, porque Timer0 é usado para funções como delay (), milis () ou micros (). A segunda opção é conectá-lo à entrada T1 (pino 5 com marcação Arduino) e usar o Timer1 com entrada extra. A próxima opção é conectá-lo à entrada de interrupção INT0 (pino 2 na marcação do Arduino) ou INT1 (pino 3) e usar a função attachInterrupt () e a função de registro, que é chamada periodicamente. Aqui está o divisor útil oferecido pelos chips 4060, então a chamada não deve ser tão frequente.

Etapa 12: Relógio rápido para ferragens de ferroviários modelo

Relógio rápido para hardware modelo ferroviário
Relógio rápido para hardware modelo ferroviário
Relógio rápido para hardware modelo ferroviário
Relógio rápido para hardware modelo ferroviário
Relógio rápido para hardware modelo ferroviário
Relógio rápido para hardware modelo ferroviário

Para o interesse, apresentarei um esquema útil. Preciso conectar mais relógios de parede ao controle comum. Os relógios de parede estão distantes um do outro e ainda por cima a característica do ambiente é mais industrial com maior ruído eletromagnético. Então voltei aos antigos sistemas de ônibus usando maior voltagem para comunicação. Claro que não resolvi trabalhar com bateria, mas usei fonte de alimentação estabilizada de 12V. Amplifiquei o sinal do processador usando o driver TC4427 (tem boa disponibilidade e bom preço). Então estou carregando sinal de 12V com possível carga de até 0,5A. Eu adicionei divisores de resistor simples aos relógios escravos (na figura 18 marcados como R101 e R102; novamente entendo o motor como simétrico, isso não é necessário). Eu gostaria de aumentar a redução de ruído transportando mais corrente, então usei dois resistores de 100Ω. Para limitar a tensão na bobina do motor é conectada a ponte retificadora B101 em paralelo com a bobina. A ponte tem o lado CC em curto, então ela representa dois pares de diodos antiparalelos. Dois diodos significam queda de tensão de cerca de 1,4 V, que é muito próxima da tensão normal de trabalho do motor. Precisamos de antiparalelo porque a alimentação é alternada em uma polaridade oposta. A corrente total usada por um relógio de parede escravo é então (12 V - 1,5 V) / (100Ω + 100Ω) = 53mA. Esse é um valor aceitável para evitar ruído.

Aqui estão dois interruptores nos esquemas, eles são para controlar funções adicionais do relógio de parede (multiplicador de velocidade no caso de modelos de ferroviários). O relógio da filha tem mais uma característica interessante. Eles são conectados por meio de dois conectores banana de 4 mm. Eles estão segurando o relógio de parede na parede. É útil especialmente quando você deseja definir um tempo específico antes de começar a usar, você pode simplesmente desconectá-los e conectá-los novamente (o bloco de madeira é fixado na parede). Se você deseja criar o "Big Ben", precisa de uma caixa de madeira com quatro pares de soquetes. Essa caixa pode ser usada como armazenamento para relógios quando eles não são usados.

Etapa 13: Software

Do ponto de vista do software, a situação é relativamente simples. Vamos descrever a realização no chip PIC12F629 usando cristal 32768Hz (reciclado do clock original). O processador tem um ciclo de instrução de quatro ciclos de oscilador. Uma vez que usaremos a fonte de relógio interno para qualquer Timer, isso significa ciclos de instrução (chamados fosc / 4). Temos disponível, por exemplo, Timer0. A frequência de entrada do temporizador será 32768/4 = 8192Hz. O temporizador é de oito bits (256 passos) e nós o mantemos transbordando sem quaisquer barreiras. Vamos nos concentrar apenas no evento de estouro do cronômetro. O evento ocorrerá com frequência 8192/256 = 32Hz. Então, quando quisermos ter pulsos de um segundo, temos que criar pulsos a cada 32 overflow de Timer0. Gostaríamos de ter o relógio funcionando, por exemplo, quatro vezes mais rápido, então precisamos de estouro de 32/4 = 8 para pulso. Para os casos em que estamos interessados em projetar relógio com irregular, mas preciso, temos que ter soma de overflows para alguns pulsos igual a 32 × número de pulsos. Então podemos encontrar uma matriz de relógios irregulares como esta: [20, 40, 30, 38]. Então a soma é 128, que é o mesmo que 32 × 4. Para relógio sinusal, por exemplo [37, 42, 47, 51, 55, 58, 60, 61, 62, 61, 60, 58, 55, 51, 47, 42, 37, 32, 27, 22, 17, 13, 9, 6, 4, 3, 2, 3, 4, 6, 9, 13, 17, 22, 27, 32] = 1152 = 36 * 32). Para nosso relógio, usaremos duas entradas livres como definição de divisor para execução rápida. A tabela com os divisores para velocidades é armazenada na memória EEPROM. A parte principal do programa pode ter a seguinte aparência:

MainLoop:

btfss INTCON, T0IF goto MainLoop; aguarde Timer0 bcf INTCON, T0IF incf CLKCNT, f btfss SW_STOP; se a chave STOP estiver ativa, clrf CLKCNT; limpar o contador toda vez que btfsc SW_FAST; se o botão rápido não for pressionado, vá para NormalTime; calcular apenas o tempo normal movf FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; se FCLK e CLKCNT forem iguais, vá para SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; bits 7, 6, 5 btfsc STATUS, Z; se CLKCNT> = 32 goto MainLoop goto SendPulse

Programe usando a função SendPulse, essa função cria o próprio pulso do motor. Função contagem de pulso ímpar / par e com base nisso, criar pulso em uma ou segunda saída. Função usando constante ENERGISE_TIME. Essa constante define o tempo durante o qual a bobina do motor é energizada. Assim, tem grande impacto no consumo. Por ser tão pequeno, o motor não consegue terminar a etapa e às vezes acontece, aquele segundo se perde (geralmente quando o ponteiro dos segundos gira em torno do número 9, quando vai "para cima").

SendPulse:

incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: bsf OUT_A goto SendPulseE SendPulseB: bsf OUT_B; goto SendPulseE SendPulseE: Main wf 0x50 movwf ECNT SendPulseE SendPulseB: bsf OUT_B; goto SendPulseE SendPulseE: Main wf 0x50 movwf ECNT SendPulse_decopulseLoopcotoB: bsf OUT_B;

Os códigos-fonte completos podem ser baixados no final da página www.fucik.name. A situação com o Arduino é um pouco complicada, pois o Arduino usa linguagem de programação superior e usa o próprio cristal de 8MHz, temos que ter cuidado com as funções que estamos usando. O uso do atraso clássico () é pouco arriscado (ele calcula o tempo desde o início da função). Melhores resultados terão o uso de bibliotecas como Timer1. Muitos projetos do Arduino contam com dispositivos RTC externos, como PCF8563, DS1302, etc.

Etapa 14: Curiosidades

Este sistema de uso do motor de relógio de parede é considerado muito básico. Existem muitas melhorias. Por exemplo, com base na medição de Back EMF (energia elétrica produzida pelo movimento do ímã do rotor). Então o eletrônico é capaz de reconhecer, uma vez que a mão está em movimento e se não, então rapidamente repete o pulso ou atualiza o valor de "ENERGISE_TIME". a curiosidade mais útil é "passo reverso". Com base na descrição, parece que o motor foi projetado para apenas um sentido de rotação e não pode ser alterado. Mas, conforme apresentado nos vídeos anexados, a mudança de direção é possível. O princípio é simples. Voltemos ao princípio motor. Imagine que o motor está em estado estável de segundo degrau (Figura 3). Assim que conectarmos a tensão conforme apresentado na primeira etapa (Figura 2), o motor iniciará logicamente a rotação na direção reversa. Uma vez que o pulso será curto o suficiente e terminará um pouco antes do motor aumentar o estado estável, ele irá logicamente piscar um pouco. Uma vez no momento em que essa cintilação chegará o próximo pulso de tensão, conforme descrito no terceiro estado (Figura 4), o motor continuará com a direção da partida, ou seja, na direção reversa. Um pequeno problema é como determinar a duração do primeiro pulso e uma vez criar alguma distância entre o primeiro e o segundo pulso. E o pior é que essas constantes variam para cada movimento do relógio e às vezes variam para os casos, que os ponteiros vão "para baixo" (em torno do número 3) ou para cima (em torno do número 9) e também em posições neutras (em torno dos números 12 e 6). Para o caso apresentado em vídeo, usei valores e algoritmo conforme apresentado no seguinte código:

#define OUT_A_SET 0x02; config para sair a definir b limpar

#define OUT_B_SET 0x04; config para out b definir um clear #define ENERGISE_TIME 0x30 #define REVERT_TIME 0x06 SendPulse: incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: movlw REVERT_TIME movwf ECNT movlw OUT_B_SET; comece com pulso B movwf GPIO RevPulseLoopA:; curto tempo de espera decfsz ECNT, f goto RevPulseLoopA movlw OUT_A_SET; então pulse A movwf GPIO vá para SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; comece com pulso A movwf GPIO RevPulseLoopB:; curto tempo de espera decfsz ECNT, f goto RevPulseLoopB movlw OUT_B_SET; em seguida, pulse B movwf GPIO; vá para SendPulseE SendPulseE: movlw ENERGISE_TIME movwf ECNT SendPulseLoop: decfsz ECNT, f goto SendPulseLoop bcf OUT_A bcf OUT_B goto MainLoop

O uso de etapas reversas aumenta a possibilidade de brincar com o relógio de parede. Podemos encontrar às vezes relógio de parede, que tem movimento suave do ponteiro dos segundos. Não temos medo desses relógios, eles estão usando um truque simples. O motor em si é igual ao motor descrito aqui, apenas a relação de engrenagem é maior (geralmente 8: 1 mais) e o motor gira mais rápido (geralmente 8x mais rápido), o que torna o movimento suave. Depois de decidir modificar o relógio de parede, não se esqueça de calcular o multiplicador solicitado.

Recomendado: