Encoders Na Prática (MEC547)
Encoders Na Prática (MEC547)
Encoders Na Prática (MEC547)
Pesquisar … Busca
Principal
Aprendendo Online
Automação
Bancada de Reparação
Circuitos
Dicas
Livros Técnicos
Novidades
Projetos e Artigos
Revistas
mais ...
Os "encoders" são muito utilizados em Automação e Robótica. Com esses "sensores" é possível converter movimentos lineares ou angulares em
informações para um sistema, permitindo-nos assim saber qual a posição atual do nosso robô, motor, ou qualquer que seja o dispositivo
monitorado. Neste artigo trataremos não apenas da teoria, como também demonstraremos o uso de um "encoder" do tipo comercial e outro
"made in home".
Os "encoders" são na verdade "transdutores" de movimento. Eles são capazes de converter movimentos lineares ou angulares em informações
elétricas que podem, com o auxílio de um microcontrolador, ser transformadas em informações binárias e, consequentemente, trabalhadas por um
"programa" que através de um algoritmo converta a informação passada em algo que possa ser entendido como: distância, velocidade, etc.
Parece complicado, mas imagine a seguinte situação: você desenvolveu um braço mecânico (robô manipulador) e enviou um certo comando para
ele previamente gravado. Esse comando faz com ele posicione o braço a uma certa altura, para que ele possa "pegar" uma determinada peça (isso
já com todos os ensaios, feitos). Mas, algo aconteceu e o braço ficou a alguns centímetros do "alvo". Se todo o processo for automatizado, todos os
outros movimentos seguintes não serão mais precisos. A peça não será "apanhada" e nada mais parecerá funcionar.
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 1/12
11/07/2024, 10:22 Encoders na prática (MEC547)
Com o uso de um "encoder" você poderia facilmente resolver o problema. Ele informaria a posição, ou quantidade de passos executados. Seu
programa compararia a resposta deste com o comando enviado ao braço. Se igual, tudo está bem. Se a informação do "encoder" fosse diferente,
bastaria corrigir a posição do braço.
Tudo isso feito de maneira "on-line". Pode-se notar que com o uso dos "encoders" todo um processo mecânico ganha muito em precisão. Sua
utilidade é tamanha que na indústria os "encoders" são utilizados em:
- Máquinas CNC;
- Mesas "XY";
- E muitas outras.
Portanto, se o leitor pensa em desenvolver um sistema automatizado preciso, o emprego de "encoders" é altamente recomendável. Garante-se
assim a precisão do sistema.
COMO FUNCIONAM
Os "encoders" possuem internamente um ou mais discos (máscaras) com furos e partes "sem furos". Entre esses discos, encontram-se transmissores
e receptores IR (geralmente). A luz infravermelha, gerada pelo "transmissor", ao atravessar a máscara (parte com furo) encontra o "receptor". Este,
com o apoio de um circuito eletrônico gera um pulso. Veja a figura 1.
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 2/12
11/07/2024, 10:22 Encoders na prática (MEC547)
A quantidade de pulsos em uma volta, nos "encoders" rotativos, demonstra a relação impulso/volta do mesmo. Quanto maior for esta relação
(número de pulsos por volta) maior a precisão obtida com o "encoder" (graus mecânicos). Por exemplo, um "encoder" que gere 50 pulsos por volta
teria a seguinte relação:
ENCODERS INCREMENTAIS
Os "encoders incrementais" possuem em geral duas saídas: uma "A" e outra "B". Estas saídas são defasadas em 90°, ou seja, a saída "B" gera um
pulso 90° atrasado em relação ao pulso gerado pela saída "A" quando em um sentido, e 90° adiantado quando em outro. Assim, podemos saber em
que sentido nosso motor ou eixo está girando; observe a figura 2.
Este tipo de "encoder" possui normalmente uma outra saída, chamada de "Z" (zero). Ela gera um pulso quando o "encoder" atinge sua posição
absoluta zero, ou seja, o ponto inicial. Esse pulso tem largura e fase iguais ao do canal A.
Podemos, assim, chamar este tipo de encoder de: "Encoder Incremental Bidirecional". O leitor deve estar se perguntando: "Existe um Encoder
Incremental Unidirecional?" Sim, existe. Eles são usados geralmente com o propósito de medir a velocidade de um eixo (motor).
O leitor deve atentar ainda para o fato de que também é possível medir a velocidade de um eixo qualquer, com um "encoder" bidirecional. Quanto
mais rápidos forem os pulsos (contagem do total passado pelo "encoder") maior será a velocidade. Dessa forma, podemos através de cálculos
determinar e controlar a velocidade desejada. Também é possível determinar a velocidade utilizando o pulso enviado pelo sinal "zero".
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 3/12
11/07/2024, 10:22 Encoders na prática (MEC547)
Nota:
Veja que os "encoders", como já dito, são transdutores que informam sobre posição, -velocidade e sentido de um eixo. Deve-se entender que todo
o controle sobre as "variáveis" já comentadas é feito pelo controlador principal (CLP, microcontrolador etc.) através de um programa. Os "encoders",
por si só, não realizam este controle. Eles apenas enviam as informações necessárias, que após sua correta interpretação, permitirão o controle
efetivo sobre o movimento desejado.
ENCODERS ABSOLUTOS
Os "encoders" absolutos operam de forma similar aos incrementais. Também possuem internamente máscaras que são atravessadas por sinais
infravermelhos. A diferença básica está no tipo de sinal enviado. Ela é codificada para cada posição, ou seja, para cada posição, um "valor' binário é
enviado. Frequentemente, utiliza-se o "Código Gray" para evitar erros de leitura. Esse código determina que na comutação de um código para outro
(posição) apenas um bit seja alterado. Assim, evita-se leituras errôneas durante a transição.
Porém, a principal diferença entre os encoders incrementais e os absolutos está em sua aplicação. Um encoder incremental precisa ser posicionado
em seu "zero" (lembram do sinal zero) para que seja possível contar os "passos" do movimento. Em um encoder absoluto, isso não é necessário,
pois ele informa sua posição atual sempre. A maioria dos robôs manipuladores de alta precisão utilizam este tipo de encoder.
UM POUCO DE PRÁTICA
Neste artigo trataremos mais sobre os "encoders" incrementais bidirecionais. Podemos encontrar no mercado soluções relativamente baratas e já
prontas. Com estes, é possível implementar (ou melhorar significativamente) um projeto de conclusão de Curso ou mesmo "aquele robô" já
montado, ou que está para ser montado.
Um exemplo de um encoder comercial pode ser visto na figura 3. Esse encoder, fabricado pela "S&E Instrumentos de Testes e Medição LTDA", tem
as seguintes características técnicas:
Mecânicas:
Peso: 350 g.
Elétricas:
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 4/12
11/07/2024, 10:22 Encoders na prática (MEC547)
Consumo: 20 mA sem carga nas saídas.
Forma de onda do pulso: quadrada, relação entre os tempos 50% +/- 10%.
Relação impulsos/volta: versões para 1, 2, 3, 4, 5, 6, 10, 12, 15, 28, 30, 36, 50, 60, 80 e 100.
As dimensões deste encoder podem ser vistas na figura 3. Podemos observar que não se trata de um equipamento grande, portanto, pode ser
facilmente empregado em qualquer projeto de pequeno e médio porte sem maiores problemas.
APLICAÇÕES PRÁTICAS
Até o presente momento, demonstramos aqui nesta Revista alguns projetos que poderiam usufruir dos benefícios de um encoder como o
apresentado. Um deles sem dúvida alguma é o RM-1 (Robô Manipulador"1"). Nosso projeto era bem simples e posicionava o "braço" com servos.
Porém, não foi utilizado qualquer "sensor" de posicionamento. Para os leitores que pretendem montá-lo como projeto de finalização de Curso
(técnico ou mesmo engenharia) uma ideia seria o uso de "encoders". Esta sofisticação traria ao robô mais precisão em seus movimentos,
principalmente naqueles "gravados" e executados de forma sequencial.
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 5/12
11/07/2024, 10:22 Encoders na prática (MEC547)
Sempre lembrando ao estudante e mesmo "hobista" que o conhecimento de soluções "prontas", encontradas no mercado, é de uso tanto em suas
bancadas (projetos pessoais) como também em empresas. Devemos estar atentos para as novidades oferecidas. Saber como funcionam e também
aplicá-las pode fazer a diferença na busca ou manutenção de um emprego.
Uma sugestão de uso e aprendizagem para este encoder pode ser observada na figura 4. Nela sugerimos uma montagem mecânica de
posicionamento linear com um encoder do tipo rotativo, que pode ser utilizado em mesas "XY", por exemplo.
Foi utilizado um parafuso de "40 cm", madeira para base, um motor de passo simples e um encoder modelo GI-BD-50-24V, saída PNP.
UM CIRCUITO BÁSICO
Como já é de praxe aqui na Revista Mecatrônica Fácil, procuramos trazer sempre ao nosso leitor um circuito simples para facilitar a fixação do que
foi dito durante, digamos, nossa "introdução teórica".
O circuito pode ser analisado na figura 5 e é bem simples. Ele traz a ideia de um encoder incremental bidirecional (porém sem a linha de "zero") e é
capaz de determinar a direção do "eixo" e até mesmo a velocidade deste, mas sem muita precisão (isso é apenas urna experiência, não um circuito
definitivo).
Ele foi composto por dois sensores IR com receptor e transmissor no mesmo invólucro. Este tipo é facilmente encontrado em mouses e pode até ser
"subtraído" de um, caso o leitor disponha de algum fora de uso (sucata).
Esses sensores são ligados de maneira que seus transmissores (LEDs IR) sempre estejam transmitindo. Os receptores tiveram suas entradas inseridas
em um amplificador operacional LM358 (dois OPs em um único invólucro) configurado como amplificador não inversor. A função deste Cl é
amplificar o sinal ao nível máximo de 5 volts.
Após a passagem do sinal, o mesmo é entregue a uma porta do tipo "Schmitt Trigger" para que possa ser transformada em forma "quadrada". Isso
é necessário para que o sinal fique na forma ideal para qualquer microcontrolador, como um Basic Step ou mesmo MC, por exemplo.
A parte mecânica foi construída com papelão. Ela recebeu dois furos, por onde o sinal IR passará, gerando o pulso.
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 6/12
11/07/2024, 10:22 Encoders na prática (MEC547)
A montagem
Nosso pequeno protótipo foi montado em uma matriz de contatos (figura 6). O leitor que desejar realizar outro tipo de montagem como, por
exemplo, uma placa de circuito impresso ou mesmo placa padrão deverá fazê-lo usando as ferramentas e técnicas necessárias para tal. A revista
publicou recentemente dois artigos muito interessantes, que poderão ajudá-lo nessa "empreitada": "Como, usar uma placa padrão - n°10 - Maio-
Junho/2003" e "Como projetar e confeccionar placas de circuito impresso – n°12 - Setembro-Outubro/2003".
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 7/12
11/07/2024, 10:22 Encoders na prática (MEC547)
A construção do disco (máscara) exige um certo cuidado. Os sensores devem ser montados de maneira a formarem um ângulo de 90° entre si. O
disco deve ser posicionado de maneira que os furos possam ser utilizados pelos sensores. Veja a figura 7.
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 8/12
11/07/2024, 10:22 Encoders na prática (MEC547)
É possível verificar "virtualmente" a forma de onda (sinal "A" e sinal "B") através dos LEDs. LED apagado = sinal alto, LED aceso = sinal baixo.
Dica de uso
Para usar o "encoder" aqui descrito (ou mesmo o comercial que demonstramos) com um Basic Step, o leitor terá de ligar suas referidas saídas nos
pinos de I/0 do Basic Step. O comando PULSIN pode informar o tamanho do pulso recebido:
PULSIN 0, 0, b0 (veja o help no compilador para este comando para entender melhor seu funcionamento).
Com esse comando é possível medir a velocidade de giro do motor, por exemplo. Para determinar o seu sentido, o leitor deverá construir uma
sequência de "IF's", por exemplo.
O leitor pode notar que a rotina apresentada ao lado não é muito precisa. Ela testa os pinos para ver qual entra em modo ativo primeiro. Depois,
aguarda o próximo e determina sua direção.
Para que a mesma funcione corretamente é importante que o disco seja posicionado de maneira: a "tampar" ambos os sensores. Somente quando o
motor for ligado é que os sensores receberão os sinais. Isso se deve ao fato de não termos a linha de "zero" para informar a posição inicial.
CONCLUSÃO
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 9/12
11/07/2024, 10:22 Encoders na prática (MEC547)
O presente artigo trouxe ao leitor conhecimentos teóricos básicos sobre os "encoders". Uma pesquisa para aqueles que pretendem se aprofundar
mais no assunto é sempre recomendada. A pequena experiência prática demonstrada pode ser empregada em vários projetos pelo leitor. Use sua
imaginação e teste todas as possibilidades. Boas experiências e até a próxima!
Última Edição
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 10/12
11/07/2024, 10:22 Encoders na prática (MEC547)
Recentes
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 11/12
11/07/2024, 10:22 Encoders na prática (MEC547)
N° do componente
OK
(Como usar este quadro de busca)
Salvar no Spotify
12:37
https://www.newtoncbraga.com.br/robotica-e-mecatronica/20676-encoders-na-prática-mec547.html 12/12