Olá amigos.

Preciso fazer a leitura de um encoder utilizando a função de interrupção pela placa wemos d1 mini. Porém, ao plotar as leituras está resultando uma forma de onda irregular.

Então eu testei fazer a leitura sem a função de interrupção, apenas com digitalRead, e ao plotar, a forma de onda foi como esperada.

No meu projeto não posso usar apenas digitalRead pois posso perder leituras durante a execução de outras funções. Alguma solução pra esse problema?

Em anexo estão as formas de onda que eu obtive em cada um dos testes, por meio do Plotter Serial .

Em anexo também está o código simplificado que usei para fazer apenas esses testes de leitura e o circuito do encoder. circuit%20encoder%20%2B%20motor%20%2B%20wemos%20d1.jpeg

Exibições: 587

Anexos

Responder esta

Respostas a este tópico

Nossa, adorei sua explicação e faz todo o sentido! 

Na verdade minha aplicação é controlar o número de voltas de um motor de corrente contínua que será aplicado em uma persiana de rolo. Você recomendaria usar algum outro tipo de sensor? 

porque no meu hardware, o usuário grava via botão a posição máxima e a posição mínima da cortina. Ao longo do uso, caso algumas leituras sejam "engolidas" ou contadas em falso, a persiana pode extrapolar o ponto máximo ou o mínimo. 

Olá, Cleiton!

   Em primeiro lugar, se o objetivo é leitura de posição, não se faz isto com encoders de um único canal ( ou fase como costumamos chamar na indústria ).

   Normalmente usam-se encoders de 3 fases: A, B e Índice.

   As fases A e B servem para medir a posição e o índice garante que a contagem sempre comece no mesmo ponto. Se a energia falhar no meio do movimento, o usuário pode executar uma rotina que chamamos "HOME" e que coloca a cortina em uma posição conhecida pelo controlador.

   Se é uma aplicação profissional, veja encoders industriais em:

         Hohner - Encoders

   Espero ter ajudado.

D.T. Ribeiro.

Olá, Cleiton!

   Se o objetivo é apenas detectar quando a cortina está aberta ( totalmente ) ou fechada ( totalmente ) , isto pode ser feito com dois fins-de-curso, da mesma forma que são os portões de garagem.

   Claro, como não conheço a cortina em que você quer aplicar este controle, talvez haja impeditivos de ordem prática para esta abordagem, tipo não ter espaço para colocar os sensores etc.

   De qualquer forma, achei que valia a pena mencionar.

Sucesso!

D.T. Ribeiro.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço