Vous êtes sur la page 1sur 6

SECCION II: AREA DE SOLDADURA Y SELLADO

En esta sección se realizan las siguientes tareas:


1. Vertido del ácido en la caja
2. Soldadura de bornes y terminales de las placas
3. Sellado de la batería

La sección programada en RobotStudio simula el proceso de soldadura y de vertido de


ácido, se supone que existe un tercer elemento que se encarga del sellado.

Declaración de intenciones:

La idea que se pretende desarrollar en esta sección es la implementación de una estación


de trabajo en la que un robot es capaz de realizar dos tareas utilizando herramientas
diferentes, por tanto el robot debe realizar el cambio de herramienta a la hora de
cambiar de tarea.

Descripción del proceso:

Sobre una cinta transportadora, llegan cajas de baterías que ya previamente (en la
estación anterior, han sido colocadas las celdas de batería en cada caja, el conjunto
caja+celdas (6 celdas) avanza por la cinta transportadora hasta que es interceptado por
el sensor de la estación II (estación de trabajo) una vez que el robot recibe la señal
emitida por el sensor, inicia la tarea 1:
1. Coger herramienta 1 y avanzar hasta una posición predeterminada sobre la pieza
( Caja de batería).
2. Situarse sobre la pieza y realizar la soldadura de los bornes de las celdas.
3. Dejar la herramienta 1 en su ubicación por defecto (posición home de la
herramienta).

Una vez que el robot deja la herramienta 1, tiene que llevar a cabo la tarea 2:
1. Ir a la posición de la herramienta 2 y cogerla
2. Avanzar hasta la pieza y situarse en una posición predeterminada sobre la pieza
3. Para verter el ácido, el robot debe realizar una trayectoria en vertical hacia abajo
con la herramienta de vertido, luego pararse e iniciar el vertido de ácido en la
caja.
4. Llevar la herramienta hasta su posición home y soltarla.

Una vez dejado la herramienta 2, el sistema debe enviar una señal para desactivar el
sensor, permitiendo así que la pieza interceptada pueda continuar su avance sobre la
cinta transportadora y que una nueva pieza pueda avanzar hasta ser interceptada por
el sensor, a partir de ahí, se repetiría el proceso descrito anteriormente de forma
cíclica.

Estrictamente hablando, para completar los objetivos de esta sección, sería necesario
o bien un tercer robot que se hiciera cargo de la tarea de sellado, que implica colocar
la tapa de la batería y hacer la soldadura de los bornes o terminales Positivo y
Negativo de la batería; si no se utiliza un segundo robot en la estación de trabajo,
entonces el único robot, tendría que manejar tres herramientas lo cual podría ser una
sobre carga. Por lo tanto, ahí entrarían en juego los conceptos de eficiencia,
productividad y coste, que son decisiones a tomar por el personal ejecutivo o la
gerencia.

TRABAJO REALIZADO:

De la declaración de intenciones que recoge los objetivos perseguidos, a continuación se


describen los objetivos alcanzados durante el desarrollo de la célula robotizada.

1. Para conseguir el cambio de herramientas, se ha implementado un componente


inteligente de RobotStudio (Smart Component), este componente cuenta con una
serie de subcomponentes (child components) interconectados. El nombre del
componente es Cambiador, y cuenta con los siguientes subcomponentes:

• Dos componentes Attacher: Se encarga de acoplar la herramienta que tenga


indicada como Child al extremo del robot que tenga asignado como Parent.

• Dos componentes Detacher: Se encarga de desacoplar la herramienta que


tenga asignada como Child.

• Dos puertas lógicas tipo And (LogicGate) con entradas A y B: Utilizada para
evitar que Attacher y detacher puedan entrar en conflicto, en una de las
entradas, está conectado el pulsador de Soltar y en la otra entrada, está la
salida del RSLatch que bloquea el estado de Agarrar.

o Explicación: Al accionar el pulsador llamado Agarrar, se ejecuta el


attacher y el robot tiene la herramienta, como el pulsador no guarda
su valor, este se guarda haciendo un Set con el SRLatch, esto ayudará
a saber que la herramienta está cogida por el robot y por tanto tendrá
sentido accionar el pulsador de Soltar. Si se acciona este pulsador, la
puerta lógica dará un 1 a su salida (un 1 del estado Set que indica que
la herramienta está acoplada AND 1 que llega del pulsador), la salida
de la puerta lógica activará el Detacher y la herramienta quedará
desacoplada del robot, una vez que se ejecuta el Detacher, se resetea
el RSLatch.

• Dos SRLatch (Pestillo Set-Reset): Se encarga de bloquear una señal en


cualquiera de los estados Set o Reset.
Externamente el “Cambiador” puede ser manipulado mediante 4 pulsadores:
- Agarrar
- Soltar
- Agarrar2
- Soltar2
También cuenta con dos salidas que nos indican cuando las herramientas 1 y 2 están
acopladas (señales Tool1On, Tool2On).

La idea del uso de este componente es, acercar el robot todo lo posible a la base de la
herramienta y entonces mediante señales accionar el pulsador para agarrar. Para soltar,
basta con mover el robot hasta la posición donde debe dejar la herramienta y accionar el
pulsador de soltar.

2. Para conseguir el movimiento de las cajas de batería sobre la cinta, simulando


que vienen de la estación anterior, se ha desarrollado un componente inteligente
llamado TheFeeder (El Alimentador) dicho componente cuenta con los
siguientes componentes hijos:
• Alimentador: Simplemente es una cinta transportadora sobre la que se
moverán las cajas.
• Elemento Source: Componente para indicar a robotstudio la pieza que se
quiere mover sobre una cinta.
• Elemento Queue: Componente para crear una cola de espera, ya que la
técnica utilizada por el programa, es hacer copias del elemento Source.
• Dos componentes PlaneSensor: Utilizados para detectar la presencia de la
pieza.
• Dos componentes LinearMover: Utilizados para hacer que las sucesivas
copias de la cola (Queue) se muevan en linea recta hacia la dirección
indicada.
• Un Componente LinearMover2: Que mueve los elementos hacia la
dirección indicada pero hasta una distancia predeterminada.
• Cinco señales para poder conectar el alimentador a otros elementos de la
estación y poder activar y desactivar sus componentes desde un programa
rapid:
o Botón BoxIn, para generar piezas
o Salida Sensing Box, Se activa cuando el PlaneSensor 1 está en
contacto con alguna caja. Así sabemos que hay una pieza para soldar
y verter ácido en ella.
o Entrada Activar Avance, Se activa activa desde rapid, cuando se ha
terminado con una pieza, está avanzará hacia la próxima estación
gracias a esta señal.
o Entrada Activar Sensor, Una señal utilizada para apagar o encender
el PlaneSensor 1. Si se desactiva, las piezas pueden avanzar para así
poder ser interceptadas por el siguiente sensor.

3. Herramientas:
• Herramienta de RobotStudio: Para la soldadura, se ha utilizado una
herramienta de la librería de RobotStudio, el Arc Welding Gun (Pistola de
soldadura por arco).

• Herramienta creada: Para el vertido de ácido, se ha diseñado una pieza en


un programa externo (3D Studio Max) y se ha importado a RobotStudio
como una geometría, y luego se ha creado una herramienta a partir de esta
geometría. Nombre de la herramienta: Acid_Pump.

• Otros elementos creados: Un objeto diseñado en el programa SolidWorks,


para simular el soporte donde están colocadas las herramientas, ha sido
importado como archivo ACIS que tienen por extensión (.sat) que es uno de
los formatos de importación soportados por RobotStudio. también se ha
creado una caja de batería utilizando las herramientas de modelado de
RobotStudio, aunque posteriormente se ha hecho un diseño mejorado de caja
con celdas utilizando SolidWorks.

o Nombre del soporte: Apoyo


o Nombre de la caja de batería: Caja.
o Nombre de la caja con celdas: Batería.
4. Programación y Simulación

Se han creado todas las trayectorias necesarias para coger las herramientas, dejarlas
realizar la soldadura y verter el ácido. 5 trayectorias en total. La mayoría de los
objetivos de las trayectorias han sido creadas utilizando el método teach target

Se ha creado una tarjeta (Unit) de entradas y salidas para el sistema virtual del robot
(VC), Nombre de la Tarjeta: DAQ0
Tipo de Unidad: Virtual, conectada al bus Virtual1

Entradas: E1 E2 E3 E4 *Mapeadas del 1 al 4 y con nivel de acceso total


Salidas: S1,S2,S3,S4 *Mapeadas del 5 al 8 y con nivel de acceso total.

Se han realizado las siguientes conexiones utilizando Station Logic:

La señal S1 del sistema conectada al Pulsador “Agarrar” del Cambiador


La señal S2 del sistema conectada al Pulsador “Soltar” del Cambiador
La señal S3 del sistema conectada al Pulsador “Agarrar2” del Cambiador
La señal S4 del sistema conectada al Pulsador “Soltar2” del Cambiador.

Se han insertado diversas instrucciones de Rápid en el código para conseguir los


resultados obtenidos, a continuación se muestran fragmentos de código relevantes.
----------------------------------------------------------------------------------------------------
PROC Main()
Path_10;
WaitTime 2;
Path_20; Se realizan retardos antes de ejecutar cada
WaitTime 2;
Path_30; trayectoria, simplemente para no ver la simulación
WaitTime 2; de forma brusca.
Path_40;
WaitTime 5;
Path_50;
ENDPROC Se combinan instrucciones
---------------------------------------------------------------------
MoveL y MoveJ para
---------------------------------------------------------------------------------------------------------
facilitar al robot el
PROC Path_10()
MoveJ Target_10,v500,z100,tool0\WObj:=wobj0; desarrollo de la trayectoria.
MoveL Target_20,v500,z100,tool0\WObj:=wobj0;
Se pone a 1 la salida S1
conectada al cambiador para
coger la herramienta 1
MoveL Target_30,v500,z100,tool0\WObj:=wobj0;
MoveL Target_40,v500,z100,tool0\WObj:=wobj0;
MoveL Target_50,v500,z100,tool0\WObj:=wobj0;
MoveJ Target_60,v500,z100,tool0\WObj:=wobj0;
MoveL Target_60,v500,z100,tool0\WObj:=wobj0;
Set S1;
WaitTime 2;
MoveJ Target_70,v500,z100,tool0\WObj:=wobj0;
MoveL Target_80,v500,z100,tool0\WObj:=wobj0;

ENDPROC
----------------------------------------------------------------------
----------------------------------------------------------------------
PROC Path_30()
MoveJ Target_220,v1000,z100,tool0\WObj:=wobj0;
MoveL Target_230,v1000,z100,tool0\WObj:=wobj0;
Se hace un retardo al
MoveL Target_240,v1000,z100,tool0\WObj:=wobj0; llegar a la posición donde
MoveL Target_250,v1000,z100,tool0\WObj:=wobj0; se debe dejar la
MoveL Target_60,v1000,z100,tool0\WObj:=wobj0; herramienta y se activa S2
WaitTime 2; para Soltarla.
Set S2;
ENDPROC
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
PROC Path_40() Aquí se hace un retardo antes de
MoveJ Target_60,v1000,z100,tool0\WObj:=wobj0; coger la herramienta porque por
MoveJ Target_260,v1000,z100,tool0\WObj:=Tool2; alguna razón que no he descubierto
MoveJ Target_270,v1000,z100,tool0\WObj:=Tool2; *(ver nota al pie), el robot cogía la
MoveJ Target_280,v1000,z100,tool0\WObj:=Tool2; herramienta antes de llegar a la
MoveJ Target_290,v1000,z100,tool0\WObj:=Tool2; posición o la soltaba antes de llegar
MoveL Target_300,v1000,z100,tool0\WObj:=Tool2; al punto adecuado; haciendo un
retardo, aseguraba que el robot
WaitTime 4;
llega a la posición y entonces el
Set S3; resultado de agarrar o soltar la
MoveJ Target_310,v1000,z100,tool0\WObj:=Tool2; herramienta era más realista.
MoveJ Target_320,v1000,z100,tool0\WObj:=Tool2;
MoveJ Target_330,v1000,z100,tool0\WObj:=Tool2;
MoveJ Target_340,v1000,z100,tool0\WObj:=Tool2;
ENDPROC

*Una posible causa del problema de dejar la herramienta antes de llegar a la posición objetivo, puede ser
debido al uso combinado de instrucciones MoveL e Instrucciones MoveJ ya que el tiempo de trayectoria
----------------------------------------------------------------------
para cada
PROC tipo de instrucción no es el mismo.
Path_50()
MoveJ Target_350,v1000,z100,tool0\WObj:=Tool2; Las sucesivas señales
MoveJ Target_360,v1000,z100,tool0\WObj:=Tool2; activadas permanecen
MoveL Target_300,v1000,z100,tool0\WObj:=Tool2; activadas y al final del
WaitTime 3;
Set S4; Al igual que se ha explicado en el bloque anterior, ciclo, es necesario
el robot se apresuraba en dejar la herramienta prepararlas para el
Reset S1; antes de llegar al punto adecuado, el problema se siguiente ciclo, de ahí los
Reset S2; ha resuelto con el retardo de 3 segundos antes de reset.
Reset S3; soltar.
Reset S4;
ENDPROC
5. Dificultades encontradas

Además de los problemas ya comentados más arriba, otros problemas encontrados


durante el desarrollo del trabajo son entre otros:

a) Para Simular el sensor de presencia de cajas, primero era necesario crear un sistema
alimentador que moviera las cajas sobre la cinta. La manera de conseguir esto es
mediante la creación de un componente inteligente que tuviera como subcomponentes