Um encoder rotativo transforma o ângulo de um eixo em rotação num sinal elétrico. No seu interior há um disco marcado com um padrão de áreas claras e escuras e um sensor que lê esse padrão a partir de uma posição fixa. Mudar a forma como o padrão é gravado muda tanto aquilo que o encoder consegue informar quanto o modo como ele erra quando uma leitura sai errada.
Esta série percorre esses padrões estilo por estilo, com diagramas que você pode girar. Esta página cobre os projetos absolutos de múltiplas trilhas, em que cada trilha carrega exatamente um bit, tanto em binário quanto em código Gray, além do clássico disco incremental, que não carrega endereço absoluto nenhum.
Os projetos que comprimem a posição numa única trilha, como o disco PRBS, e os que combinam um código grosso com um ciclo fino, como os discos híbridos e vernier, são tratados em (2) Trilha única e híbridos.
| Pergunta | Figura que responde |
|---|---|
| Por que o ângulo já está correto no instante em que a alimentação chega? | Encoders absolutos em código binário (figura 1) |
| Por que o código Gray virou padrão nos discos industriais? | Encoders absolutos em código Gray (figura 2) |
| Como um disco sem endereço absoluto descobre para que lado está girando? | Encoders incrementais com canais A e B (figura 3) |
Todos os discos abaixo podem ser arrastados. Passar um deles devagar por uma fronteira entre setores antes de ler o texto faz o resto da explicação encaixar muito melhor.
Vale deixar uma coisa clara desde já: cada figura é um desenho simplificado feito para explicar um mecanismo, não a cópia do produto de nenhum fabricante específico. Onde o desenho se afasta do hardware real, a seção “Na figura desta página” avisa.
Encoders absolutos em código binário (figura 1)
Como funciona a codificação
O disco é dividido radialmente em trilhas concêntricas e cada trilha carrega um bit. Em qualquer ângulo, a combinação de claro e escuro ao longo dessas trilhas é o endereço absoluto daquela posição. Gravadas em binário natural, quatro trilhas dão dezesseis setores endereçáveis; oito trilhas dão 256.
O atrativo desse arranjo é que a posição já é conhecida no instante em que a alimentação chega. Nada precisa se mover antes. A combinação que os sensores estão lendo já é o ângulo, então nenhuma rotina de referenciamento é necessária na partida.
A fraqueza nasce do mesmo mecanismo. Na fronteira entre dois endereços, vários bits podem comutar no mesmo instante. Ir de 0111 para 1000, por exemplo, muda os quatro bits de uma vez. Se os sensores estiverem montados com o menor desalinhamento, cada bit cruza sua borda num momento ligeiramente diferente e, por um instante, a leitura não é nem 0111 nem 1000. E o erro não é pequeno: uma leitura errada momentânea pode cair a meia volta da posição real.
Na figura desta página
O desenho segue a intuição de um encoder absoluto do tipo transmissivo, de modo que branco é 1 (a luz passa) e preto é 0 (a luz é bloqueada). As trilhas ficam com o LSB por fora e o MSB por dentro. Uma fileira fixa de sensores no topo do disco lê cada trilha, e as lâmpadas abaixo correspondem a elas: a mais à esquerda é o MSB da trilha interna e a mais à direita o LSB da externa.
Mover o controle deslizante muda o número de bits e, com ele, o número de trilhas e de setores. O disco está configurado para que o número do setor aumente no sentido horário. Atravesse uma fronteira devagar e procure o momento em que mais de uma lâmpada muda ao mesmo tempo.
Mais bits significa resolução mais fina, mas também mais bits mudando juntos nas piores fronteiras. Aumentar a contagem de setores mantendo o binário natural faz a leitura errada ocasional saltar mais longe, não menos.
Encoders absolutos em código Gray (figura 2)
Como funciona a codificação
Fisicamente nada muda: uma trilha por bit, exatamente como antes. O que muda é o código gravado nessas trilhas. Os setores são ordenados de modo que dois ângulos vizinhos difiram em um único bit. Essa ordenação é o código Gray.
Como só pode haver um bit em transição numa fronteira, uma leitura mal sincronizada só pode devolver o setor que está sendo deixado ou aquele em que se acabou de entrar. Os erros ficam na porta ao lado em vez de atravessar o disco, e essa única propriedade é a razão de o código Gray ter se tornado o padrão dos encoders industriais de múltiplas trilhas.
A contrapartida é que uma leitura Gray não é um número utilizável como está. O controlador ou CLP precisa convertê-la para binário natural antes de qualquer operação. Vale tratar esse passo de conversão como parte do projeto, e não como um acréscimo posterior.
Na figura desta página
O arranjo físico é idêntico ao da figura 1 — LSB por fora, MSB por dentro, branco para 1, preto para 0 — mas agora cada setor carrega o seu padrão Gray. Girando o disco no sentido horário, o número do setor continua subindo de um em um.
Com o valor Gray exibido acontece outra coisa. Lido diretamente como número decimal, o padrão de bits do disco dá 0, 1, 3, 2, 6 e assim por diante: ele salta em vez de subir. O equivalente em binário natural aparece ao lado, então dá para ver o número do setor e o valor convertido avançando no mesmo passo enquanto o valor Gray bruto pula.
Repare também nas lâmpadas. Ao mudar para um setor vizinho, normalmente exatamente uma delas comuta. Comparado ao disco binário da figura 1, onde várias mudavam juntas, a diferença salta aos olhos.
Uma leitura que vai 0, 1, 3, 2 não é sinal de disco defeituoso. Num encoder Gray é exatamente o que você deve ver. Os valores que sobem de um em um são os convertidos.
Encoders incrementais com canais A e B (figura 3)
Como funciona a codificação
Um disco incremental não carrega nada além de fendas distribuídas uniformemente pela circunferência, e nenhum endereço absoluto. Ele é lido com dois sensores posicionados a cerca de 90 graus elétricos um do outro, em quadratura. Por convenção, esses dois se chamam canal A e canal B.
Juntos, eles percorrem quatro estados, normalmente 00 → 10 → 11 → 01, ou a mesma sequência ao contrário quando o eixo gira para o outro lado. O que costuma passar despercebido é que há trechos em que A e B estão ambos em nível alto, e trechos em que ambos estão em nível baixo. Os dois canais não são simplesmente cópias invertidas que se alternam.
Qual dos canais vai na frente informa o sentido do movimento, e contar as bordas informa o quanto o eixo se deslocou. É aí que termina o conhecimento de um encoder incremental: ele só informa a variação. Se a alimentação cair, ou se o ruído fizer perder uma contagem, a posição absoluta fica desconhecida até uma marca de referência como o canal Z passar de novo.
Na figura desta página
Há uma única trilha de código com fendas distribuídas uniformemente. O canal A fica no topo do disco e o canal B está deslocado o equivalente a 90 graus elétricos.
Você verá momentos em que as duas lâmpadas estão acesas e momentos em que ambas estão apagadas. Esses são os pontos de sobreposição próprios da quadratura, e estão corretos. O controle de resolução funciona como número de divisões, equivalente aos PPR (pulsos por revolução). Há apenas duas lâmpadas, A e B, sem fileira de MSB nem LSB.
Ver A e B acesos ao mesmo tempo é diagnosticado como falha de fiação com surpreendente frequência. Em quadratura, dois dos quatro estados têm os dois canais no mesmo nível, então é normal. O preocupante é o contrário: um sinal em que 00 ou 11 nunca aparece.
Onde cada um dos três tipos realmente aparece
As diferenças acima correspondem bem de perto ao lugar onde cada tipo acaba sendo usado. O que segue descreve tendências gerais; o tipo que um modelo específico traz por dentro varia, então consulte a folha de dados na hora de especificar hardware real.
Encoders absolutos binários
Discos gravados em binário natural são raros na detecção de rotação do dia a dia. O defeito de vários bits mudando juntos numa fronteira vira mau funcionamento a jusante com facilidade demais. Quando um disco de múltiplas trilhas precisa carregar posição absoluta, ele quase sempre foi substituído pela versão Gray descrita a seguir.
Isso não significa que o binário desapareça. O valor lido de um disco Gray é convertido para binário natural no controlador antes de qualquer cálculo de posição. O binário se aposentou como forma de gravar o disco, mas continua sendo a base do cálculo.
Encoders absolutos em código Gray
É a escolha padrão para discos industriais de múltiplas trilhas. Seu ponto forte, como vimos, é que o ângulo fica definido no momento em que a alimentação chega. Isso importa principalmente onde movimentar a máquina para buscar o zero a cada partida não é aceitável.
Entre as aplicações típicas estão os eixos de indexação de máquinas-ferramenta, os ângulos de articulação de robôs, a abertura de válvulas e comportas, a posição de talhas e guindastes, e o apontamento de antenas e instrumentos de observação. Em todos esses casos, ou não saber a posição depois de uma queda de energia seria perigoso, ou referenciar o mecanismo já é fisicamente inconveniente.
Depois que essas leituras dão os ângulos de articulação de um robô, as perguntas seguintes são onde está agora a ponta e quanto girar cada eixo para chegar lá. Esse cálculo está em Cinemática direta e inversa explicada com diagramas interativos (1), num braço planar de dois elos que você pode mover.
Encoders incrementais (A/B)
É a construção mais simples das três e precisa de apenas uma trilha de código. Abrir mão da posição absoluta compra um jeito barato de acompanhar a rotação em detalhe.
Aqui vivem a realimentação de velocidade e sentido de motores, o percurso de correia em transportadores, o avanço de papel em impressoras e scanners, os botões de ajuste de painéis de controle e a roda do mouse. O que eles têm em comum é a liberdade de restabelecer uma referência na partida, ou simplesmente não precisar de posição absoluta.
Em vez de escolher pelo nome do tipo, resolva primeiro uma pergunta: a máquina precisa saber onde está no momento em que é religada? Se sim, você quer um encoder absoluto. Se não, um incremental resolve.
O que cada um dos três tipos prioriza
Os três leem um padrão de um disco, mas divergem naquilo que consideram mais importante.
| Tipo | Posição absoluta | Leituras erradas numa fronteira | Trilhas de código necessárias |
|---|---|---|---|
| Binário | Conhecida assim que há alimentação | Pode cair muito longe | Uma por bit |
| Gray | Conhecida assim que há alimentação | Nunca pior que o setor vizinho | Uma por bit |
| Incremental | Desconhecida até achar uma referência | Não se aplica (só relativo) | Uma |
Resumindo: posição absoluta pede um disco absoluto de múltiplas trilhas, e manter pequenos os erros de fronteira dentro dessa família pede código Gray. O incremental se vira com uma trilha só e um disco bem mais simples, mas aí a posição absoluta precisa vir de outro lugar.
O que levanta a pergunta óbvia: um disco consegue carregar posição absoluta sem acrescentar trilhas? Essa linha de raciocínio leva ao disco PRBS de trilha única, que escreve uma sequência pseudoaleatória ao redor de um anel, e aos discos híbridos que combinam um código grosso com um ciclo fino. É disso que trata (2) Trilha única e híbridos.
Perguntas frequentes
P1. Devo escolher um encoder absoluto ou incremental?
R. A primeira bifurcação é se você tolera um movimento de referenciamento depois de cada energização. Se tolera, o incremental serve; se não, precisa de absoluto. A decisão real depende também dos requisitos de segurança da máquina e das capacidades do sistema de controle, então este artigo para na diferença entre os tipos.
P2. Minha leitura Gray vai 0, 1, 3, 2. O disco está com defeito?
R. Não. O código Gray é arranjado para que ângulos vizinhos difiram em um único bit, o que faz a leitura direta do padrão de bits em decimal produzir uma ordem com saltos. Enquanto os valores convertidos para binário natural forem 0, 1, 2, 3, está tudo funcionando.
P3. É anormal os canais A e B estarem altos ao mesmo tempo?
R. É normal. Ler em quadratura implica percorrer 00, 10, 11 e 01, então sempre haverá um trecho com os dois canais altos e outro com os dois baixos. Dois canais permanentemente opostos significariam uma defasagem de 180 graus, e esse arranjo não permite saber para que lado o eixo gira.
P4. Acrescentar bits melhora a precisão na mesma proporção?
R. Aumenta o número de divisões, mas cada bit adicional acrescenta outra trilha e afina o padrão perto da borda. Suba o controle de bits nas figuras e verá com que rapidez a trilha mais externa se aperta. Em hardware real, essa finura esbarra nos limites da tolerância de fabricação e da resolução do sensor.
P5. Estas figuras correspondem a algum produto real?
R. Não. São desenhos simplificados feitos para mostrar um mecanismo. A ordem das trilhas, a atribuição de claro e escuro e a posição do sensor foram escolhidas para deixar a explicação clara, e o hardware real pode acrescentar uma trilha de sincronismo ou várias cabeças de leitura. A seção “Na figura desta página” de cada trecho detalha o que é peculiar ao desenho.

Leave a Reply