Escolar Documentos
Profissional Documentos
Cultura Documentos
Instrutor: Tiago Roza
(assistência técnica: manutenção preventiva e corretiva de partes mecânicas – troca de
graxa – e elétricas – diagnóstico por parâmetros medidos via software)
Notas de Aula
20/10/2008 – Aula 1
Recomendações de Segurança
Sem contato direto com pessoas: robôs industriais sempre deverão trabalhar
enclausurado, o que significa que na operação em modo automático não deverá haver ser
possível a ninguém entrar em contato direto com eles;
Dispositivos de segurança: robôs industriais devem ser cercados por dispositivos de
segurança que o desativem caso sejam acionados, tais como cortinas de luz e sensores de
presença;
Colisão do ponto de vista de um robô: a detecção de colisão é feita por meio de
variações da corrente de acionamento dos motores. Isso significa que é considerada uma
colisão a percepção de uma carga acima da máxima para o qual o robô foi contruído.
Conseqüentemente, os circuitos que detectam colisão não são eficientes para evitar
acidentes, pois se em um robô para manipulação de cargas leves (2kg) o aumento de
corrente pode indicar uma colisão, em um robô que aceita cargas de 1200kg a ocorrência
de um acidente pode não representar carga suficiente para caracterizar uma colisão.
Sinal de emergência: quando é gerado um sinal de emergência, todos os freios são
acionados simultaneamente. Isso gera um tranco no robô, o que pode danificar tanto o
robô e os chumbadores que o fixam na posição de trabalho. Conseqüentemente, o sinal de
emergência só deve ser gerado em casos de emergência e não simplesmente para “parar” o
robô.
Botão Hold (parar): este sinal desacelera os motores até parar o robô, sendo o recurso
usado em paradas normais. Caso o robô esteja em um ciclo de trabalho (AUTO) e tenha
sido pressionado o botão HOLD, para retomar o ciclo de trabalho, basta pressionar CICLE
START (ONDE FICA?).
Modo Manual: para garantir que ninguém consiga atuar sobre o robô enquanto você está
fazendo está o co teach pendant, gire a chave de modo manual, passando de OFF para
ON:
Referência (Zero-Máquina)
Devido ao controle de posição utilizar encoder digitais absolutos com alimentação
permanente (estão sempre sendo alimentados, seja pela rede elétrica ou por pilhas de 1,5V), o
robô sempre “sabe” qual é a sua posição em relação ao zero-máquina.
Preventivamente recomenda-se o a troca anual das pilhas, mas caso isso não ocorra, quando
elas ficam fracas surge uma mensagem de advertência no Teach Pendant: BLAL (Battery Low
ALarm).
Em relação ao zero-máquina, existem marcas na carcaça feitas de forma que quando o robô
se encontra na posição zero, essas marcas coincidem umas com as outras.
O motor usado nos robôs adquiridos pela Escola é o “Servomotor Beta”, com encoder
absoluto em um encapsulamento vermelho e freio com trava acoplado ao eixo do rotor.
Cabos
Encoder
O encoder absoluto utilizado gera 1.000.000 pulsos por volta (20 bits)
Dispositivo de Break-Release
Este dispositivo permite destravar os freios dos motores. O procedimento consiste em conectá-
lo ao robô e escolher o eixo a ser destravado para que, então, seja enviado o sinal que
destravará o freio:
Como destravar sem ter este dispositivo: injetar 90V no freio (e polaridade?)
Braço Mecânico
Controlador: alimentação, interpolação e acionamento
Painel de Operação: QUAL EXATAMENTE É A SUA FUNÇÃO?
Teach Pendant: terminal de ensino.
Há casos em que o painel de operação é integrado no controlador e casos em que eles são separados
entre si.
Sistemas de Coordenadas
Existem os seguintes sistemas de coordenadas:
COORD
Coordenadas Joint
Este é o modo mais simples de posicionamento do robô e consiste em movimentar cada junta
individualmente. Mantendo pressionada a tecla SHIFT, movimente o eixo desejado usando os botões
para movimentação:
SHIFT
Coordenadas World
Este sistema de coordenadas consiste na movimentação do robô no espaço cartesiano, ao longo dos
eixos XYZ definidos em relação ao zero-máquina. A operação é idêntica à do modo JOINT,
diferindo no comportamento do robô:
Usando os três botões superiores são executados movimentos lineares ao longo dos eixos;
Usando os três botões inferiores são executados movimentos circulares em torno dos eixos.
SHIFT
MOVIMENTO LINEAR
MOVIMENTO CIRCULAR
Coordenadas Tool
Este sistema de coordenadas consiste na movimentação do robô no espaço cartesiano, ao longo dos
eixos XYZ definidos em relação ao ponto central da ferramenta ou Tool Center Point (TCP). A
operação é idêntica à do modo WORLD, diferindo na orientação dos eixos XYZ.
Este modo de operação é usado para definir o ponto central de cada ferramenta, sendo que em um
único atuador podem existir várias ferramentas, como é o caso da garra usada no robô da estação
MPS, que pode apanhar até 4 peças diferentes.
Coordenadas User
Suponha que o trabalho a ser executado pelo robô envolva objetos com diferentes inclinações.
Conforme o movimento a ser realizado seria necessário calcular posições perpendiculares a planos
imaginários. No sistema de coordenadas USER o usuário pode definir pontos de origem a sub-
sistemas cartesianos, incluindo as inclinações necessárias à manipulação dos objetos.
21/10/2008 – Aula 2
Programação
Pode ser feita tanto pelo TP como via simulador (COMO????)
Deslocamento
O formato do comando para deslocamento do Rob}o é:
Onde:
TIPO:
J- JOINT
L- LINEAR
PONTO
VELOCIDADE
Em “mm/sec”
PRECISÃO
Para movimentos aéreos usa-se CNT0, CNT50, CNT70, CNT100, onde CNT significa
CONTÍNUO, ou seja, haverá controle da aceleração e desaceleração a fim de passar
pelos pontos informados. Em CNT0 ocorrerá a máxima desaceleração para máxima
aproximação. Em CNT100 haverá mínima desaceleração e maior distanciamento.
QUADRADO
1: UTOOL_NUM = 1 ;Selecão da ferramenta
2: UFRAME_NUM = 1 ;Seleção do sistema de coordenadas da
;aplicação que, neste caso, é um plano de
;trabalhão que representa uma folha de papel
;onde será desenhado um quadrado
3:
4: J P[1] 50% FINE
5: L P[2] 300mm/sec FINE
6: L P[3] 300mm/sec FINE
7: L P[4] 300mm/sec FINE
8: L P[5] 300mm/sec FINE
9: L P[2] 300mm/sec FINE
10: L P[1] 300mm/sec FINE
11:
12: UFRAME_NUM = 0
END
Importante: se uma posição for gravada usando a USERFRAME 0, isso significa que ela é
transportável para todas as outras userframes, pois a userframe 0 é referenciada ao zero-máquina.
USERFRAME 1
W – angulação em relação a X
P - angulação em relação a Y
R - angulação em relação a Z
TRIANGULO
1: UTOOL_NUM = 1 ;Selecão da ferramenta
2: UFRAME_NUM = 2 ;Sistema de coordenadas da aplicação
3:
4: J P[1] 50% FINE
5: L P[2] 300mm/sec FINE
6: L P[3] 300mm/sec FINE
7: L P[4] 300mm/sec FINE
8: L P[2] 300mm/sec FINE
9: L P[1] 300mm/sec FINE
10:
11: UFRAME_NUM = 0
END
USERFRAME 2
CIRCULO
1: UTOOL_NUM = 1 ;Selecão da ferramenta
2: UFRAME_NUM = 3 ;Sistema de coordenadas da aplicação
3:
4: J P[1] 50% FINE
5: L P[2] 300mm/sec FINE
6: C P[3] P[4] 300mm/sec FINE ;1o semi-círculo
7: C P[5] P[2] 300mm/sec FINE ;2o semi-círculo
8: L P[1] 300mm/sec FINE
9:
10: UFRAME_NUM = 0
END
USERFRAME 3
PRINCIPAL
1: UTOOL_NUM = 1 ;Selecão da ferramenta
2: UFRAME_NUM = 0 ;Sistema de coordenadas global
3:
4: J PR[1] 50% FINE ;Posição comum a todos os programas, gravada na
;userframe 0. É o home do programa.
5: CALL QUADRADO
4: J PR[1] 50% FINE
5: CALL TRIANGULO
4: J PR[1] 50% FINE
5: CALL CIRCULO
9:
10: UFRAME_NUM = 0
END
Gravando Posições
Existem dois métodos:
Escrita do programa seguida da gravação dos pontos: neste caso, após escrever o programa
posiciona-se o cursor em um linha que tem uma posição, posiciona-se o robô e pressiona-se as teclas
SHIFT + TOUCH UP.
Gravação dos pontos durante a escrita do programa: neste caso, prosiciona-se o robô na posição
desejada e escreve-se a linha de programa Ao finalizar a linha a posição é automaticamente gravada.
Posições especiais
Home: também chamada de posição repetida, pois o robô sempre retorna a ela quando não está
trabalhando.
Salto incondicional
O salto incondicional é feito por meio da instrução “JUMP TO LABEL”, que salta para a linha
identificada pelo rótulo informado.
Formato de um rótulo
LBL[i]
Comentários (remark)
Aparece no programa com um sinal de exclamação no início da linha. Exemplo:
3: !Desenha um quadrado
Registradores
Registradores são posições de memória que aceitam o armazenamento de números. Seu formato é:
R[i]
Existem cerca de 200 registradores pré-definidos em memória e é possível associar nomes a eles,
facilitando a compreensão do seu conteúdo e finalidade.
Importante: registradores funcionam como variáveis globais. Devido a isso, é preciso tomar cuidado
ao utilizar um registrador, pois isso poderá afetar outros programas. A melhor prática é reservar
intervalos de memória para diferentes aplicações, mapeando as posições que que não devem ser
alteradas e as de propósito geral.
Salto condicional
Pode ser feito pelos comandos IF e SELECT
IF [condição] [Ação]
Executa a ação (JUMP ou CALL) caso a condição seja satisfeita. As condições são expressas nos
formatos:
SELECT Reg[]
SELECT Reg[] = [valor1], [ação1]
[valor2], [ação2]
[valorN], [açãoN]
ELSE [ação_final]
Controle de tempo
Wait gera uma espera em milissegundos. Esse intervalo de tempo é expresso de forma literal (um
número) ou de forma indireta (conteúdo de um registrador).
Espera que a operação dada entre um item e um valor seja verdadeira durante o intervalo especificado.
Após isso o programa prossegue.
22/10/2008 – Aula 3
Execução passo-a-passo
O procedimento completo para executar um programa passo-a-passo é:
Para acessar os registradores, visualizando e/ou alterando seu conteúdo basta pressionar a tecla DATA
no TP.
23/10/2008 – Aula 4
Timers
Existem 10 timers no controlador FANUC (TIMER[1] a TIMER[10]) que podem ser usados para
monitorar o tempo decorrido entre eventos. Existem duas formas de interagir com os timers:
Comentários sobre o
PR[i,j]
Onde:
j: identificação do eixo:
i Eixo
1 X
2 Y
3 Z
4 W
5 P
6 R
Apêndice
Encoders
A digital optical encoder is a device that converts motion into a sequence of digital pulses. By
counting a single bit or by decoding a set of bits, the pulses can be converted to relative or
absolute position measurements.
Encoders have both linear and rotary configurations, but the most common type is rotary.
Rotary encoders are manufactured in two basic forms:
1) The absolute encoder, where a unique digital word corresponds to each rotational position
of the shaft, and
2) The incremental encoder, which produces digital pulses as the shaft rotates, allowing
measurement of relative position of shaft.
Most rotary encoders are composed of a glass or plastic slotted disk. As radial lines in each
track interrupt the beam between a photoemitter-detector pair (or Optointerrupter), digital
pulses are produced.
Absolute encoder
The optical disk of the absolute encoder is designed to produce a digital word that
distinguishes N distinct positions of the shaft. For example, if there are 8 tracks, the encoder is
capable of producing 256 distinct positions or an angular resolution of 1.406 (360/256)
degrees.
The most common types of numerical encoding used in the absolute encoder are gray and
binary codes.
Since the gray code provides data with the least uncertainty but the natural binary code is the
preferred choice for direct interface to computers and other digital devices, a circuit to convert
from gray to binary code is desirable. You can buld a simple circuit that utilizes exclusive OR
gates (XOR) to perform this function: for a gray code to binary code conversion of any
number of bits N, the most signficant bit (MSB) of the binary and gray code are always
identical, and for each other bit, the binary bit is the exlcusive OR (XOR) combination of
adjacent gray code bits.
Incremental encoder
The incremental encoder, sometimes called a relative encoder, is simpler in design than the
absolute encoder. It consists of two tracks and two sensors whose outputs are called channels
A and B. As the shaft rotates, pulse trains occur on these channels at a frequency proportional
to the shaft speed, and the phase relationship between the signals yields the direction of
rotation:
By counting the number of pulses and knowing the resolution of the disk, the angular motion
can be measured. The A and B channels are used to determine the direction of rotation by
assessing which channels "leads" the other. The signals from the two channels are a 1/4 cycle
out of phase with each other and are known as quadrature signals. Often a third output
channel, called INDEX, yields one pulse per revolution, which is useful in counting full
revolutions. It is also useful as a reference to define a home base or zero position.
A more common configuration uses a single track with the A and B sensors offset a 1/4 cycle
on the track to yield the same signal pattern. A single-track code disk is simpler and cheaper to
manufacture.
The quadrature signals A and B can be decoded to yield the direction of rotation:
Decoding transitions of A and B by using sequential logic circuits in different ways can
provide three different resolutions of the output pulses: 1X, 2X, 4X. 1X resolution only
provides a single pulse for each cycle in one of the signals A or B, 4X resolution provides a
pulse at every edge transition in the two signals A and B providing four times the 1X
resolution. The direction of rotation(clockwise or counter-clockwise) is determined by the
level of one signal during an edge transition of the second signal. For example, in the 1X
mode, A= with B =1 implies a clockwise pulse, and B= with A=1 implies a counter-
clockwise pulse.
http://hades.mech.northwestern.edu/wiki/index.php/Rotary_Encoder
Acessado em 20/10/2008
http://www.used-robots.com/
Acessado em 20/10/2008
http://www.renishaw.com/jp/6865.aspx
Acessado em 20/10/2008
http://www.sscnet.ucla.edu/geog/gessler/topics/encoders.htm
Acessado em 20/10/2008