caixa Onde Generatore
Este é um conjunto simples de algum componente que tenho nas gavetas.
Eu tenho um Arduino UNO R3 e um display LCD com algum componente eletrônico, porque eu preciso para simular um codificador. Além disso eu ter escrito no programa é também uma segunda frequência, que oscila a frequências baixas (nell’ ordem de alguns centavos).
As frequências foram simulados, de forma confiável uma boa precisão. Como não tenho medidor de freqüência, a fim de medir, o resultado só pode ver o visor.
A primeira faixa de frequências entre 2 Hz até pouco menos de 8 MHz. A tarefa é realizada por timer1, microcontrolador, com as suas características de hardware. No programa, no entanto, foi pré-ajustada para um limite de 50 khz.
Isto não perturbar o resto dell'Arduino, muito menos retarda o programa. Para simular um codificador, existe também uma segunda fase, que está em quadratura a partir do primeiro.

Infelizmente, na sua precipitação, não têm encontrado uma forma de inverter a sequência das fases. Em meu propósito é usado para testar a velocidade máxima aceitável para outro projeto (posteriormente eu publicá-lo).
Uma segunda frequência é possível pela 0,01 uma Hz 5 khz.
Nesta configuração, temos a frequência de 2 fases nas pernas D9 e D10, enquanto que para a frequência l lento’ produção deverá perna D11.
As duas primeiras saídas são fixos atribuído pela’ ferragens, enquanto que a frequência lenta é possível fazer variar a configuração do pino de saída, modificar ligeiramente o programa para a linha 13. Descrevo ainda mais para baixo as outras variantes do esboço, para uma compilação diferente.
esquema de ligações

descrição funcional
Como pode ser observado a partir do diagrama, é fornecido um controle com um botão e com um potenciômetro.
após a’ Iniciar apresenta a seguinte tela.

Movendo o potenciômetro na posição, além de metade do seu valor, determina qual freqüência você deseja modificar, em seguida, pressione uma vez para entrar.
Então aparece sinal < sobre a respectiva alteração de frequência.

Para variar o valor com o potenciómetro como multiplicador de magnitude. aumentos de meio de alto valor, enquanto a metade inferior irá subtrair o valor. portanto, eles são esperados 5 multiplicadores. Da 0 uma 5, dependente da posição do potenciómetro em relação ao centro.
Também é possível três tipos de d 'aumento, operando com o botão.
-
Um curto cursos que você avançar desse valor descrito pelo potenciômetro.
-
Mantenha pressionada a’ avanços incremento pelo contínuo.
-
Depois de um tempo você continuar a segurar o’ aumentar mais rapidamente aumentos. Há uma opção de tempo de compilação para variar a
atraso.
Para sair da função de ajuste da frequência, você terá que fazê-lo com um duplo toque no botão.
Nesse ponto, a frequência já está operando nas saídas. Voltando ao menu principal que você pode parar saídas pressionando simultaneamente e segurando o botão.
Se fosse ao invés necessário desativar uma das frequências, Ele deve trazer o seu valor a zero.
Opções Descrição de compilação
No esboço, há alguns #definir você pode mudar, dependendo de suas necessidades.
Uma relaciona-se com a saída da segunda frequência, a linha 13 você pode colocar um número desses pinos que não estão envolvidos.
a partir da linha 5 um 10, incluindo, são as atribuições de ligações para o visor de cristais líquidos.
a linha de 14 Ela determina onde você vai querer ligar o potenciômetro.
a linha de 15 é que para o botão.
a linha de 16 Ele define o período em milissegundos para validar a pressão do botão. No caso, é muito sensível ou menos, você pode ajustar o seu valor.
a linha de 17 ele é usado para um período de espera para uma longa pressão no botão.
a linha de 18 É o que define o período de pausa antes da’ aumento expedita. Todos’ real esperado 3 segundos.
Finalmente, a linha 19 É usado para depurar. As mensagens serão apresentados à série. Obviamente, uma vez que é concluído os testes, você não vai precisar do serial conectado, muito menos comunicação.
Este esboço já comentou sobre a referida linha.
a demonstração vídeo Você observe o posicionamento para baixas freqüências, a fim de fazer os três LEDs piscantes, você notar conformidade.
Obviamente, as altas frequências não são demonstráveis na tela e, em seguida, eu não fiz mais.
As bibliotecas utilizadas na compilação com Arduino IDE v 1.8.1, Eles estão incluídos no pacote que pode ser baixado em ligação.
Última revisão
Tentei de novo para preencher o esboço com a versão mais recente Arduino IDE e posso dizer que eu tenho problemas experientes.
Além disso, no pacote há um outro esboço que não usa o potenciômetro para definir o valor das freqüências. Ao invés de usar dois botões.
Um botão é rotulado SET eo outro como ENTER.
Quando você começar vem a tela esperando que o botão SET é pressionado para acessar a baixa frequência. Ou se você pressionar ENTER para acessar a programação da alta freqüência.
Se você pressionar um duplo clique sobre o SET, as frequências será desativado.
Durante a programação fase é usada nas seguintes maneiras:
1) Se setembro faz um duplo clique, Ele é abandonado sem alterar o procedimento.
2) Se você pressionar SET aumenta o número atual, até que ele retorne ao cliclo de zero.
3) Se você pressionar ENTER é passado para o dígito maior valor e você pode editá-lo com o botão SET.
4) Se ENTER é pressionado e mantido, você programação completa e retorno ao valor definido.
No que se refere à fiabilidade da frequência gerada, Eu diria que foi delicioso depois de ser capaz de medi-la.

Para o que ele é baseado nas rotinas esboço. Que vai para editar registros diretamente dell'ATmega328.
De facto, existe a possibilidade de obter as duas saídas de mudança de fase de 180 °, com apenas uma pequena variação.
contudo, a rotina não é o todo da minha própria invenção.
https://electronics.stackexchange.com/questions/174656/output-2-pwm-waveforms-with-90-degree-phase-shift
Eu teria gostado de ver uma descrição de como você chegar a esse certa frequência e parâmetros que distinguem.
Na minha opinião mais do que uma descrição das linhas de esboço é uma melhor descrição dos métodos com que é realizado em tuue projeto em suas formas e características. Não se esqueça que neste site e em outros similares, os artigos não são lidos apenas por especialistas ou tais, mas muitos iniciantes que acessam esses sites apenas para começar a estudar e compreender.
saudações