View
217
Download
0
Category
Preview:
Citation preview
8/18/2019 Seminário sobre Encoders
1/11
FEMC FACIT
faculdade de ciência e tecnologia
de montes claros
Robótica Industrial
Relatório Seminário Encoders
Autor:Felipe NicolaJoão VitorGeorge LuisWesley de SouzaValéria Cristina
Eng. de Controle e Automação
30 de novembro de 2015Montes Claros - MG
Eng. de Controle e Automação 1 Robótica Industrial
8/18/2019 Seminário sobre Encoders
2/11
8/18/2019 Seminário sobre Encoders
3/11
FEMC FACIT
1 Encoders
Um tipo de sensor de grande importância na automação tanto industrial como de qualquer
outro equipamento, é o que dá informações sobre a velocidade ou posição de uma peça que giraou se desloca linearmente. O ângulo exato em que ela pára ou ainda a velocidade em qualquersentido de rotação ou movimento podem ser fundamentais para o tipo de controle que se deseja.Para sensoriar posições e velocidade um tipo de sensor muito usado é o Encoder (figura 1).
Figura 1: Alguns modelos de encoders
1.1 Prinćıpio de Funcionamento
O encoder é um tipo de transdutor (figura 2) de posição, sendo o transdutor, um equipamentoque transforma as variações de uma determinada grandeza f́ısica em uma grandeza elétrica.
Figura 2: Prinćıpio de funcionamento de um transdutor
Um transdutor de posição converte variações de movimento em um sinal de sáıda do tipoelétrico.A menor unidade de comprimento que separa duas posições que podem ser reconhecidas porum transdutor é chamada de resolução.O encoder é um tipo de transdutor de posição, capaz de converter movimentos lineares ouangulares em sinais elétricos, que podem ser transformados em informações binárias para quepossam ser trabalhadas por um computador com o objetivo de configurá-las em variáveis dotipo distância, posição, etc.
Eng. de Controle e Automação 3 Robótica Industrial
8/18/2019 Seminário sobre Encoders
4/11
FEMC FACIT
Na figura 3 temos o detalhamento interno de um encoder.
Figura 3: Encoder detalhado
Resumidamente o encoder é constitúıdo de um emissor e um receptor acoplados a uma rodacom rasgos que permitem a luz passar (figura 4).
Figura 4: Funcionamento básico de um encoder
O encoder envia pulsos ou valores de contagem através de um circuito eletrônico de sáıda ,para que a posterior interpretação dos dados seja feita por uma placa de um PLC, CNC, Robô
Eng. de Controle e Automação 4 Robótica Industrial
8/18/2019 Seminário sobre Encoders
5/11
FEMC FACIT
ou até mesmo circuitos dedicados a microcontroladores.O encoder se divide basicamente em dois tipos, podendo ser Incrementais ou Absolutos.
1.2 Encoder Incremental
O encoder incremental (figura 5)permite saber o sentido do movimento do disco em relação aossensores.Eles identificam e contam pulsos elétricos além de reconhecer o sentido do movimentoque gerou estes pulsos.Por exemplo, se uma roda girar, o encoder reconhecerá que a roda girou, o quanto ela girou eem qual sentido ela girou. A cada interrupção da luz, devido a rotação do disco, um pulso éenviado ao controle.Da frequência dos pulsos determina-se a velocidade do eixo, e a quantidade de pulsos, determinaa posição a partir de um referencial. Os pulsos de luz s ão contados para determinar a posição.São usados dois fotodetectores em quadratura para determinar a direção do movimento. Umpulso de ı́ndice é utilizado para determinar a posição inicial.A precisão do encoder incremental depende de fatores mecânicos, elétricos e ambientais, quesão: erros na escala das janelas do disco, excentricidade do disco, excentricidade das janelas,erro introduzido na leitura eletrônica dos sinais, temperatura de operação e nos próprios com-ponentes transmissores e receptores de luz.
Figura 5: Funcionamento básico de um encoder incremental
1.3 Encoder Absoluto
O encoder absoluto (figura 6)trabalha na geração de código binário correspondente a posiçãodo disco em relação aos sensores.O encoder absoluto é o tipo de encoder mais completo que existe. Ele identifica e conta pulsoselétricos, distingue o sentido do movimento que gerou estes pulsos, e reconhece em qual ângulose encontra o eixo ou em qual posição se encontra o móvel linear.O código de sáıda é utilizado para definir a posição absoluta do encoder. O código maisempregado é o binário, pois este é facilmente manipulado por um circuito relativamente simplese, com isso, não se faz necessário nenhum tipo de conversão para se obter a posição real doencoder. O código é extraı́do diretamente do disco (que está em rotação). O sincronismo e a
aquisição da posição, no momento da variação entre dois códigos, tornamse muito dif́ıceis. Senós pegarmos como exemplo dois códigos consecutivos binários como 7 (0111 2) e 8 (10002),
Eng. de Controle e Automação 5 Robótica Industrial
8/18/2019 Seminário sobre Encoders
6/11
FEMC FACIT
notaremos que as variações de zero para um e um para zero ocorrem em todos os bits, e umaleitura feita no momento da transição pode resultar em um valor completamente errado (figura4). Para solucionar esse problema é utilizado um código binário chamado “Código Gray”
Figura 6: Funcionamento básico de um encoder absoluto
1.4 Aplicações
Os encoders podem ser utilizados em diversas áreas:
Eng. de Controle e Automação 6 Robótica Industrial
8/18/2019 Seminário sobre Encoders
7/11
FEMC FACIT
Figura 7: Sistema de posicionamento de telescópios
Figura 8: Mecanismo de máquina perfuratriz
Eng. de Controle e Automação 7 Robótica Industrial
8/18/2019 Seminário sobre Encoders
8/11
FEMC FACIT
Figura 9: Controle de velocidade
Figura 10: Posicionamento de antenas
Figura 11: Encoders utilizando redes Interbus
Eng. de Controle e Automação 8 Robótica Industrial
8/18/2019 Seminário sobre Encoders
9/11
FEMC FACIT
Figura 12: Micro encoders para pequenas aplicações
1.5 Aplicação Prática
Fizemos a implementação de um encoder em um motor de corrente cont́ınua para fazer amedição da velocidade do eixo em RPM. Foi utilizado um encoder bem simples, com umaresolução de 11,25o mecânicos (360o/32), que significando que a cada 11,25o o encoder enviaum pulso para o controlador. Para o processamento do sinal foi utilizado um ATMEGA328P-PU (Arduino Uno). Um potenciômetro foi usado para variar a velocidade do motor. Abaixosegue o código implementado e os componentes utilizados.
1 #include <
L i q u i d C r y s t a l . h>
2 L i q ui d C ry s t al l c d ( 1 2 , 1 1 , 7 , 8 , 5 , 4 ) ; // {RS,ENABLE,D4,D5,D6,D7 }3 i n t t= m i l l i s ( ) ;4 i n t rpm=0;5 i n t v e l o c i d a d e = 0 ;6 // in t motor=0;7 v o l at i l e unsig ne d l ong p u l s o s = 0 ;89 void ContaPulso ()
10 {11 p u l s o s ++;12 }13
14 void s e tu p () {15 l c d . b eg in ( 1 6 , 2 ) ;16 a t t a c h I n t e r r u p t ( 0 , C on ta Pu ls o , RISING ) ;17 p in Mo de (A0 , INPUT ) ;18 pinMode( 6 ,OUTPUT) ;19 }2021 void l o o p () {22 v e l o c i d a d e = map ( a n al o gR ea d ( A0 ) , 0 , 1 0 2 3 , 0 , 2 5 5 ) ;23 a n al o gW r it e ( 6 , v e l o c i d a d e ) ;24 v o l a t i l e u ns ign ed l on g t = m i l l i s ( ) ;25 l c d . s et Cu rs or ( 0 , 0 ) ;
26 l c d . p r i n t ( ”RPM = ” ) ;27 l c d . s et Cu rs or ( 6 , 0 ) ;
Eng. de Controle e Automação 9 Robótica Industrial
8/18/2019 Seminário sobre Encoders
10/11
FEMC FACIT
28 l c d . p r i nt ( rpm ) ;29 l c d . s et Cu rs or ( 0 , 1 ) ;30 l c d . p r i n t (”PWM = ” ) ;31 l c d . s et Cu rs or ( 6 , 1 ) ;
32 l c d . p r i n t ( v e l o ci d a d e ) ;33 while ( ( m i l l i s ()− t )
8/18/2019 Seminário sobre Encoders
11/11
FEMC FACIT
Figura 15: Circuito montado
Eng. de Controle e Automação 11 Robótica Industrial
Recommended