Encoders ou geradores de impulsos são equipamentos eletromecânicos, utilizados para conversão de movimentos rotativos ou deslocamentos lineares em impulsos elétricos de onda quadrada, que geram uma quantidade exacta de impulsos por volta em uma distribuição perfeita dos pulsos ao longo dos 360 graus do eixo.
Existem vários tipo de encoders, sejam eles mecânicos, óptimos, magnéticos, etc...
Pegando num exemplo prático, como a rotação de um motor.
É essencial saber qual é a rotação actual de um motor se for o objectivo controlar a velocidade do mesmo. No entanto esse feedback deve ser dado a partir de uma boa referência e não de uma referencia "móvel" pelo que o sistema de encoder deverá ser bem montado.
A imagem em baixo ajuda a ilustrar melhor esta montagem e a visualizar melhor qual é a informação que se retira de um encoder.
Visto desta perspectiva pode-mos ver que existe um pequeno circuito montado em redor do eixo do rotor do motor.
Este circuito possui, por norma, dois sensores de hall e preso no rotor um "bolacha", disco, magnético com metade "N" (norte) e metade "S" (sul), ou mais secções ainda! O sensor de hall a cada transição de "N-S" ou "S-N" faz negar a sua saída.
Com a rotação do motor é gerado então uma onda quadrada na saída de cada sensor de hall.
Tal como disse atrás, normalmente são usados 2 sensores de hall para distinguir a rotação para a direita da rotação para a esquerda.
Sabendo quantos pulsos por rotação o encoder gera e o tempo de cada pulso, é bastante fácil determinar a sua velocidade.
Agora alguns cálculos...
Supondo que uma rotação cria 4 pulsos e o tempo de cada pulso é de 50ms (de subida a subida do pulso), então uma rotação completa demora 200ms.
1 rot --- 0.2 seg
x rot --- 1 seg
RPS = 1/0.2 = 5 rps
Sabendo qual a rotação, velocidade actual do motor, pode-se então aplicar um controlador para que se atinja a velocidade desejada.
Gosto disto.