O que é um Encoder?
Na automação industrial, se o CLP é o "cérebro", o encoder é o "olho". Ele converte movimento mecânico (rotativo ou linear) em pulsos digitais que o controlador pode entender.
Função Vital
Sem ele, o CLP não sabe se o motor realmente girou. O encoder fornece feedback de Posição, Velocidade e Direção.
Incremental vs. Absoluto
Incremental
Gera pulsos conforme o movimento. O CLP conta esses pulsos. Se a energia cair, a contagem é perdida.
- ✅ Simples e barato
- ✅ Ótimo para velocidade
- ❌ Precisa referenciar (Home) ao ligar
Absoluto
Possui um código único para cada posição (como um relógio). Sabe exatamente onde está, mesmo ao ser ligado.
- ✅ Não perde posição sem energia
- ✅ Ideal para robótica/segurança
- ⚠️ Mais caro e complexo
Simulador: Encoder Absoluto
Gire o disco abaixo. Observe como o padrão de bits (Gray Code) muda. O sensor (linha vermelha) lê todos os bits de uma vez.
Princípio de Funcionamento (Óptico)
A maioria dos encoders usa um sistema óptico: Luz + Disco com Fendas + Sensor.
SINAL DIGITAL GERADO (A / B)
Sinais em Quadratura (A/B/Z)
O encoder incremental gera dois canais (A e B) defasados em 90°. A ordem das bordas diz a direção.
Disco Incremental (A/B/Z)
Gire o disco acima para ver os sinais
Sentido Horário (CW)
Borda de subida de A ocorre quando B está LOW.
Sentido Anti-Horário (CCW)
Borda de subida de A ocorre quando B está HIGH.
Dimensionamento (Pulsos para mm)
Para que o CLP mostre a posição em milímetros, precisamos calcular a relação exata entre os pulsos elétricos e o movimento mecânico. Isso é chamado de Fator de Conversão.
Fórmulas de Cálculo
1. Resolução do Encoder ($R_E$):
2. Avanço Mecânico ($A_M$):
Quanto o eixo avança em UMA volta do encoder?
- Fuso de Esferas: $A_M = \text{Passo do Fuso (ex: 5mm)}$
- Polia/Correia: $A_M = \text{Diâmetro da Polia} \times \pi$
- Roda de Medição: $A_M = \text{Perímetro da Roda}$
3. Fator de Conversão Final ($F$):
Quantos pulsos são necessários para mover 1 mm?
4. Calculando a Posição no CLP:
Parâmetros
Distância que a mesa avança em 1 volta.
Simulação de Movimento
Roda Conta Metros (Indutivo)
Uma solução econômica e robusta para medir grandes comprimentos (ex: bobinadeiras, corte de tubos) é usar uma roda dentada acoplada a um sensor indutivo. Cada dente que passa pelo sensor gera um pulso.
Cálculo de Deslocamento
O cálculo se baseia no perímetro da roda e no número de dentes.
Configuração HSC (Siemens)
Habilitar o Contador Rápido
No TIA Portal, vá em Device Configuration > Properties > High Speed Counters (HSC).
Definir Lógica A/B
Para encoders incrementais, precisamos que o CLP interprete a defasagem de fase.
- Type of counting: Counting
- Operating phase: A/B counter
- (Isso consome automaticamente as entradas %I0.0 e %I0.1)
Ler o Valor (ID1000)
Verifique o "Start Address" nas propriedades de I/O. Normalmente é 1000.
Este endereço contém o valor "cru" (raw) dos pulsos.
Código SCL (Conversão)
Função para converter o valor bruto do HSC em milímetros.
FUNCTION "FC_Encoder_To_MM" : Real VAR_INPUT HSC_Raw_Value : DInt; // Endereço %ID1000 Resolution_PPR : Real; // Pulsos por Revolução Pitch_MM : Real; // Passo do Fuso (mm) END_VAR VAR_TEMP Pulses_Per_MM : Real; END_VAR BEGIN // 1. Calcular Fator (Evitar divisão por zero) IF #Pitch_MM > 0.0 THEN #Pulses_Per_MM := #Resolution_PPR / #Pitch_MM; ELSE #FC_Encoder_To_MM := 0.0; RETURN; END_IF; // 2. Converter DInt para Real e calcular posição #FC_Encoder_To_MM := DINT_TO_REAL(#HSC_Raw_Value) / #Pulses_Per_MM; END_FUNCTION
Teste seu Conhecimento
Pergunta:
Qual a principal vantagem de um encoder Absoluto sobre um Incremental?