Por que o comando do servo e o retorno do encoder nunca coincidem no mesmo instante

Why Servo Commands and Encoder Feedback Never Line Up in the Same Instant

Servo é o dispositivo que leva uma posição até coincidir com um alvo. Em uma volta de sua malha, o controlador transforma o alvo em comando, uma caixa que converte potência em corrente gira o motor, o eixo se move, e o valor de um sensor que mede giro ou posição volta ao controlador. Esse sensor se chama encoder. Ainda assim, mesmo com os relógios alinhados, a malha nunca coincide em um mesmo instante.

O atraso se acumula no tempo de cálculo, no chaveamento da potência, na flexão mecânica e no instante da leitura. Não existe um circuito que force tudo a um mesmo instante; em vez disso, o que falta é somado por antecipação antes da próxima leitura, o que mantém o erro de seguimento dentro da especificação. O que significam proporcional, integral e derivativo fica com o artigo de controle PID, e a leitura das fases A e B com o de encoders. Aqui olhamos apenas o atraso da volta e onde ele é compensado.

Pontos-chave deste artigo

SeçãoO que explica
Os quatro trabalhos da malha do servoCalcular o comando, converter em potência, o movimento e o retorno do encoder
A defasagem entre o comando e o retorno do encoderO instante de amostragem, o ciclo de cálculo, o PWM, a quantização e onde se mede. O gargalo costuma ser a máquina
Feedforward e compensação do atrasoFechar primeiro e rápido a malha de corrente, e somar por antecipação o que falta ao comando. A vibração de frequência fixa também é suprimida
Medição em malha semifechada e totalmente fechadaMedir só o eixo do motor, ou fechar a malha com uma escala do lado da carga

Os quatro trabalhos da malha do servo

A volta completa do controlador até o retorno do encoder se chama malha do servo. Esta seção a divide em quatro trabalhos.

O primeiro é calcular o comando. O controlador decide o próximo comando a partir da diferença entre o alvo e o valor que voltou. Tomar valores em intervalos fixos se chama amostragem, e cada tomada é uma amostra. O valor lido nesta amostra, porém, normalmente só chega ao comando da amostra seguinte. Esse atraso — o tempo que o próprio cálculo leva — se chama atraso de um ciclo.

O segundo é converter o comando em potência. Como número de tensão, o comando não consegue girar o motor. Picar a corrente contínua em pulsos finos de liga e desliga para construir uma tensão média é o trabalho chamado PWM, e o intervalo deixado para que as chaves superior e inferior nunca conduzam ao mesmo tempo se chama tempo morto. Aqui também há um atraso entre o comando sair e a corrente realmente se estabelecer. Como um motor é parado, e a regeneração, são outra história, separada do atraso da malha, tratada em parada do motor CC.

O terceiro é mover. A corrente vira torque, e o eixo e a carga se movem. Mas fusos e acoplamentos flexionam como molas, então a posição do eixo do motor e a posição da mesa não são o mesmo número no mesmo instante.

O quarto é devolver a posição. O encoder é o que transforma a posição do eixo ou da mesa em pulsos ou números e os envia de volta ao controlador. Os degraus desses números se chamam quantização. Com retorno serial, soma-se ainda o tempo no cabo. O código Gray e a leitura das fases A e B pertencem ao artigo do encoder; aqui só importa quando o valor devolvido chega.

TrabalhoQuem fazO que acontece nesta amostra
Calcular o comandoControladorO valor lido agora entra no próximo comando
Converter em potênciaAmplificadorA corrente se estabelece após o PWM e o tempo morto
MoverMotor e cargaA carga atrasa o quanto a mecânica flexiona
Devolver a posiçãoEncoderApós quantização e transmissão, é lido na amostra seguinte

A figura abaixo mostra esses quatro trabalhos como uma única volta. Na figura, o comando já saiu do amplificador e segue para o motor, enquanto o retorno do encoder fica do lado que chega na amostra seguinte.

Uma volta da malha do servo dividida em comando, potência, movimento e retorno do encoder; cada etapa soma atraso, e comando e realimentação nunca coincidem na mesma amostra. Aqui o comando saiu do amplificador rumo ao motor; a realimentação ainda não chegou.
Uma volta do comando até o retorno do encoder. Cada etapa guarda um tempo que não cabe nesta amostra.

Os rótulos curtos sob cada etapa da figura são os atrasos que se acumulam ali: no controlador, perder a amostra atual; no amplificador, o PWM e o tempo morto; na carga, a mola do fuso; no encoder, a quantização e o tempo de cabo. Isso não quer dizer, porém, que os relógios estejam fora de passo.

💡 Dica

Não decida que a posição vai acompanhar só pelo período da malha de corrente do catálogo. O trabalho da corrente termina antes, dentro do amplificador, enquanto o instante de amostragem da posição fica do lado de fora.

A defasagem entre o comando e o retorno do encoder

Vamos dispor os atrasos da figura conforme onde se acumulam. Que nunca coincidam por completo não é defeito: enquanto a malha rodar sobre amostras discretas, o valor deste instante só pode alimentar o próximo comando.

FatorOnde se acumulaTamanho típico no chão de fábrica
Amostragem discretaControladorSempre presente, e não desaparece
Atraso de um ciclo de cálculoControladorO período de posição é mais longo que o de corrente
PWM e tempo mortoAmplificadorCostuma ser pequeno
Quantização e transmissãoEncoderMais resolução não remove o instante da leitura
Flexão e onde se medeMáquinaEm precisão, o gargalo costuma estar aqui
1 Na maioria das fábricas, o gargalo é a máquina e onde se mede. O encoder do eixo do motor e a posição da mesa não são a mesma coisa. Por isso, a mola do fuso e do acoplamento, a folga e a flexão da mesa ficam maiores que a volta elétrica. Somar dígitos de resolução não remove uma mola que não está sendo medida.
2 O atraso de um ciclo de cálculo não se remove; apenas se disfarça. A posição lida nesta amostra só pode alimentar o próximo comando. Mesmo com a malha de corrente mais rápida, se a posição é lida devagar, o atraso de posição continua. As malhas são aninhadas, porém — nada está quebrado.
3 PWM, tempo morto, quantização e transmissão serial existem, mas costumam ser pequenos. É aqui que pesam os números de catálogo do amplificador e do encoder. Ainda assim, são com menos frequência que o lado mecânico a causa principal de estourar uma especificação de posicionamento de precisão.

A malha de corrente fecha primeiro, a velocidade fecha por fora, e a posição por fora dessa. É um aninhamento em que malhas rápidas sustentam por dentro as malhas lentas. Períodos diferentes, portanto, não são confusão, e sim divisão de papéis.

⚠️ Armadilha comum

Supor que aumentar a resolução do encoder fará comando e realimentação coincidirem no mesmo instante. Os degraus de quantização de fato ficam mais finos. Mas o instante de amostragem e a mola não medida continuam. Antes de somar dígitos, olhe onde você está medindo.

Feedforward e compensação do atraso

O que compensa o atraso não é um circuito que alinha tudo em um mesmo instante. É um mecanismo que soma por antecipação, para a próxima amostra, o que falta, absorvendo o erro de seguimento dentro da especificação.

Primeiro, a malha de corrente é feita rápida e fechada primeiro. A malha de posição, por fora, emite comandos em intervalo mais longo. Como o trabalho da corrente já está pronto, quando o comando de posição chega, o amplificador está quase pronto para entregar torque. Um período de corrente mais rápido ainda não faz a posição alcançar por completo. A questão não é alcançar — é terminar antes o lado de dentro.

Depois, o que falta é somado por antecipação ao comando, a partir da velocidade e da aceleração alvo. Em vez de esperar o erro da realimentação, soma o lado que já sabe quanto avançar. Isso se chama feedforward. Não substitui o trabalho de fechar o erro com a ação proporcional, integral e derivativa; preenche o atraso conhecido antes de esse trabalho começar. O que significam P, I e D, e por que sobra erro estacionário, está no artigo de controle PID.

Quando a máquina vibra em uma frequência fixa, insere-se um filtro que suprime só essa frequência. Isso se chama notch. Ele não remove o atraso da malha; seu trabalho é impedir que a ressonância amplifique o comando.

CompensaçãoO que fazO que fica
Fechar a corrente primeiroPõe a malha rápida por dentroO instante de amostragem da posição
FeedforwardSoma por antecipação o próximo avanço ao comandoA mola não medida
NotchSuprime a vibração de frequência fixaA amostra em si

O alinhamento de relógios, para que vários eixos aceitem comandos carimbados com o mesmo instante, não trata de remover o atraso da malha. Isso é manter a hora sobre o barramento, e os relógios distribuídos da Ethernet industrial fazem esse trabalho. A etapa em que o comando chega ao drive está na seção de EtherCAT de comunicação industrial. O assunto deste artigo é uma volta em um único eixo.

💡 Dica

Deixar o feedforward mais forte não preenche a mola de um lugar que não está sendo medido. Enquanto só o retorno do eixo do motor for observado, o atraso do lado da mesa entra no comando como se não existisse. Mudar onde se mede é a próxima seção.

Medição em malha semifechada e totalmente fechada

Em posicionamento de precisão, o truque que mais importa não são mais dígitos de ganho, e sim onde medir para fechar a malha.

Meça só o eixo do motor, e a mola do fuso fica dentro do erro. A carga então atrasa em relação ao comando — e ainda assim o controlador acredita que o eixo do motor está no alvo. Esse jeito de medir se chama malha semifechada. Ponha, em vez disso, uma escala do lado da mesa e feche a malha na posição da carga, e você tem uma malha totalmente fechada. Com o mesmo comando, muda o jeito como a posição da carga atrasa.

Na figura abaixo, o lado esquerdo lê só o eixo do motor, e o direito lê uma escala do lado da mesa. A mola do fuso está nos dois. O que difere é de onde vem a realimentação.

Malha semifechada e totalmente fechada lado a lado, encoder no eixo do motor contra escala do lado da mesa, mostrando como o ponto de medição muda o atraso da carga. Aqui os dois painéis mostram o comando ainda no motor, antes de qualquer realimentação.
A esquerda mede só o eixo do motor; a direita fecha com uma escala do lado da mesa. A mola fica nos dois.

À esquerda da figura, a realimentação sai do motor, enquanto a mesa atrasa em relação ao comando sem ser medida. À direita, a realimentação vem da escala do lado da mesa. A mola do fuso continua, mas a malha fecha na posição da carga. Há também implementações que fecham juntas a velocidade do eixo do motor e a posição da carga, como malha dupla. Antes dos nomes, porém, olhe se o retorno vem do motor ou da carga.

Há uma técnica que divide finamente as duas fases senoidais para ganhar resolução, chamada interpolação. Os degraus de quantização ficam mais finos. Mas o instante de amostragem continua, então a interpolação é questão de dígitos — não substitui onde se mede.

Escalas e fusos crescem com a temperatura. O calor, porém, é um erro separado do atraso da malha, então fica só nesta frase. O centro da compensação continua o mesmo: medir no lugar certo e somar por antecipação o que falta.

⚠️ Armadilha comum

Supor que, no instante em que se passa a totalmente fechada, dá para seguir subindo os ganhos como na semifechada. Fechar do lado da carga põe a mola do fuso dentro da malha, e isso muda como se obtém a estabilidade. Ao mudar onde se mede, revise também como fecham as malhas internas de corrente e velocidade.

Resumo

Uma volta do servo é cálculo do comando, conversão em potência, movimento e retorno do encoder — e ela nunca coincide em um mesmo instante. O atraso se acumula no instante de amostragem, no ciclo de cálculo, no PWM, na quantização e na flexão mecânica, e na maioria das fábricas o gargalo é a máquina e onde se mede. O que compensa não é sincronização perfeita, e sim fechar a corrente primeiro, somar por antecipação o que falta e fechar a malha do lado da carga. A meta é absorver o erro de seguimento dentro da especificação.

As fases A e B e o código Gray continuam em encoders, e proporcional, integral e derivativo em controle PID. Os servos das juntas de um robô percorrem essa mesma volta.

Perguntas frequentes

Q1. Um período de corrente mais rápido faz a posição alcançar por completo?

A. Não. Com um período de fechamento de corrente mais rápido, o torque sai antes. Mas o instante de amostragem com que a posição é lida continua. Está-se terminando antes o lado de dentro; o ciclo da malha de posição não é removido.

Q2. Aumentar a resolução do encoder remove o atraso?

A. Não. Os degraus de quantização de fato ficam mais finos. Mas o instante de amostragem e a mola não medida continuam. Antes de somar dígitos, verifique se a realimentação vem do eixo do motor ou da carga.

Q3. Qual é a diferença entre semifechada e totalmente fechada?

A. Onde se mede. A semifechada fecha a malha só com o encoder do eixo do motor, então a mola do fuso fica dentro do erro. A totalmente fechada fecha na posição da carga, por exemplo uma escala do lado da mesa. A mola continua, mas a malha fecha onde o trabalho é feito.

Q4. Feedforward substitui o PID?

A. Não. O feedforward soma por antecipação o próximo avanço ao comando, enquanto proporcional, integral e derivativo seguem fechando o erro. E somar por antecipação não preenche a mola de um lugar que não se mede.

Q5. As juntas de um robô percorrem a mesma volta?

A. Sim. O servo de uma junta também é comando, potência, movimento e retorno do encoder. Não se trata aqui do CLP da célula alimentando a trajetória a cada ciclo; o atraso da volta e onde se mede são os mesmos para um braço e para uma mesa.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *