Está en la página 1de 14

BRAZO ROBOTICO

1. OBJETIVOS
 Diseñar y construir un brazo robótico en base a un motor paso a paso y un
servomotor
 Realizar el modelo matemático del motor paso a paso y del servomotor
 Controlar el brazo robótico de manera inalámbrica mediante el control por
bluetooth
2. FUNDAMENTO TEORICO
2.1. Brazo robótico

Un brazo robótico es un tipo de brazo mecánico, normalmente programable, con


funciones parecidas a las de un brazo humano; este puede ser la suma total del
mecanismo o puede ser parte de un robot más complejo. Las partes de estos
manipuladores o brazos son interconectadas a través de articulaciones que permiten,
tanto un movimiento rotacional (tales como los de un robot articulado), como un
movimiento traslacional o desplazamiento lineal.

2.1.1. Mano robótica

El efector final, o mano robótica, se puede diseñar para realizar cualquier tarea que se
desee como puede ser soldar, sujetar, girar, etc., dependiendo de la aplicación. Por
ejemplo los brazos robóticos en las líneas de ensamblado de la industria automovilística
realizan una variedad de tareas tales como soldar y colocar las distintas partes durante el
ensamblaje. En algunas circunstancias, lo que se busca es una simulación de la mano
humana, como en los robots usados en tareas de desactivación de explosivos.

2.1.2. Tipos
 Robot cartesiano: Usado para trabajos de “pick and place” (tomar y colocar),
aplicación de impermeabilizantes, operaciones de ensamblado, manipulación de
máquinas herramientas y soldadura por arco. Es un robot cuyo brazo tiene tres
articulaciones prismáticas, cuyos ejes son coincidentes con los ejes cartesianos.
 Robot cilíndrico: Usado para operaciones de ensamblaje, manipulación de
máquinas herramientas, soldadura por punto, y manipulación en máquinas de
fundición a presión. Es un robot cuyos ejes forman un sistema de coordenadas
cilíndricas.
 Robot esférico / Robot polar, tal como el Unimate: Usados en la manipulación en
máquinas herramientas, soldadura por punto, fundición a presión, máquinas de
desbarbado, soldadura por gas y por arco. Es un robot cuyos ejes forman un
sistema polar de coordenadas.
 Robot SCARA: Usado para trabajos de “pick and place” (tomar y colocar),
aplicación de impermeabilizantes, operaciones de ensamblado y manipulación de
máquinas herramientas. Es un robot que tiene dos articulaciones rotatorias
paralelas para proporcionar elasticidad en un plano.
 Robot articulado: Usado para operaciones de ensamblaje, fundición a presión,
máquinas de desbarbado, soldadura a gas, soldadura por arco, y pintado en spray.
Es un robot cuyo brazo tiene como mínimo tres articulaciones rotatorias.
 Robot paralelo: Uno de los usos es la plataforma móvil que manipula las cabinas
de los simuladores de vuelo. Es un robot cuyos brazos tienen articulaciones
prismáticas o rotatorias concurrentes.
 Robot Antropomórfico: Similar a la mano robótica de Luke Skywalker que se le
coloca al final de The Empire Strikes Back. Se le da forma para que pueda sustituir
a una mano humana, p.e. con dedos independientes incluido el pulgar.

2.1.3. Brazos robóticos notables

En el espacio el Sistema de Manipulación Remota del Transbordador Espacial también


conocido como Canadarm, y su sucesor el Canadarm2, son ejemplos de brazos robóticos
de múltiples grados de libertad que ha sido usado par realizar distintas tareas tales como
inspección de los transbordadores espaciales y satélites a través de cámaras colocadas
en su extremo o mano, y tareas de carga y descarga de la bodega de los transbordadores
espaciales.

2.2. Arduino NANO

El Arduino Nano es una placa pequeña, completa basada en el ATmega328 (Arduino


Nano 3.x) o ATmega168 (Arduino Nano 2.x). Tiene más o menos la misma funcionalidad
de la Arduino Duemilanove, pero en un paquete diferente. Le falta solamente una toma de
alimentación de CC, y trabaja con un cable USB Mini-B en lugar de uno estándar. El Nano
fue diseñado y está siendo producido por Gravitech.

2.3. Modulo Bluetooth

El modelo HC-06 dispone de 4 pines, en lugar de los 6 que incluye el modelo HC-05, pero
hay además importantes diferencias de funcionalidad y de manejo que hace que merezca
la pena dedicar una sesión a cada modelo.

Basicamente el modelo HC-06 solo puede actuar como esclavo y además dispone de un
juego reducido de instrucciones a las que atiende, mientras que el modelo HC-05 puede
actuar como master o como Slave y acepta un número mayor de órdenes de
configuración.

Una de las ventajas principales ventajas del módulo HC-06, además de su pequeño
tamaño y sus buenas características de transmisión y recepción que le brindan un alcance
muy amplio (por tratarse de un sistema local Bluetooth), es el bajo consumo de corriente
que posee tanto en funcionamiento, como en modo de espera, es decir, alimentado con
energía, pero sin conexión o enlace a otro dispositivo, por ejemplo, un móvil con SO
Android. Otra característica interesante de este módulo es que una vez que ha realizado
un enlace con otro dispositivo es capaz de recordarlo en su memoria y no solicita
validación alguna (“1234” por defecto), pero si se activa el pin 26 (KEY) hacia la tensión
de alimentación, esta información se elimina y el módulo HC-06 solicitará nuevamente la
validación del enlace. Otro detalle particular es que su tensión de alimentación de 3,3Volts
y su bajo consumo (8mA en transmisión/recepción activa) lo transforman en un dispositivo
ideal para trabajar con microcontroladores de la misma tensión de alimentación, logrando
de este modo equipos portátiles que pueden ser alimentados durante muchas horas por
baterías recargables o alcalinas AA, demostrando características excepcionales en
aplicaciones médicas, o para actividades recreativas donde la fuente energética debe ser
liviana y portátil.

3. INGENIERIA DEL PROYECTO

El brazo robótico está diseñado en base a los siguientes materiales:

- Motor paso a paso 5 Voltios 500mA


- Servomotor 5V 180º
- Arduino NANO
- Fuente de alimentación
- Engranes y correas
- Acrílico y tornillos
- Circuito Integrado ULN2803AP
- Cables de conexión

La respuesta de los motores paso a paso y servomotor se basan en base al diseño de


modelo matemático que se hara a continuación

1. Modelo matemático de un motor paso a paso

Vista del motor paso a paso


Diagrama de bloques

La respuesta en Matlab

2. Modelo matemático de un servomotor


Descripción del servomotor.

La figura siguiente muestra el aspecto del servomotor que emplearemos, así como
sus principales componentes:
Esquema del servomotor

Los elementos principales del servomotor son:

 Motor de CC
 Reductor de velocidad
 Freno magnético ajustable

Sensores disponibles:

 Sensor analógico de posición (potenciómetro)


 Sensor digital de posición (encoder)
 Sensor analógico de velocidad (tacogenerador)
 Sensor digital de velocidad (tren de pulsos)

Señales de prueba utilizables:

 Senoidal
 Cuadrada
 Triangular

El rango de tensiones de salida y de entrada soportables por la tarjeta (en nuestro caso 0
a 10V y –10 a 10V respectivamente) se transforma en un rango de –1 a 1 en los bloques
del RTT. Esto implica realizar una transformación para obtener la tensión deseada. Dicha
transformación se realizará en Simulink mediante el bloque de función Fcn. Las funciones
que se deben implementar son:

 Antes del bloque de salida: (u(1)/5)-1


 Después del bloque de entrada: (u(1)*10)

La función de transferencia se lo visualiza en el Simulink de Matlab


La función de transferencia es la siguiente

Y en diagramas de Bode la figura nos saldrá asi


Esta grafica nos muestra la velocidad de respuesta del servomotor

El proceso de identificación pretende caracterizar matemáticamente la función de


transferencia del proceso mediante la respuesta del sistema, obtenida en la entrada del
convertidor A/D, como resultado de aplicar una tensión de excitación o control generada
por el computador mediante el convertidor D/A.

Para realizar la identificación de este sistema se debe estudiar su respuesta en bucle


abierto frente a una entrada en escalón. El esquema de control en posición de un motor
de CC en bucle abierto se puede modelar como:

donde u(t) es la tensión de referencia que se introduce en el servomotor, θ(t) es la tensión


proporcional a la velocidad angular y θ(t) es la tensión proporcional a la posición.

La ganancia 1/32 se introduce para modelar el reductor del servomotor. El sensor


analógico de velocidad se encuentra situado antes del reductor, mientras que el sensor
analógico de posición está en el círculo afectado por el factor de reducción. Dicho factor
de reducción es 1:32, es decir, para cada vuelta que realiza el círculo en el que se
encuentra el sensor de posición, el círculo donde está el sensor de velocidad efectúa 32.
Como puede observarse en el diagrama de bloques mostrado anteriormente, la posición
del servomotor se obtiene integrando la velocidad.

Para identificar el sistema completo únicamente debe determinarse el sistema de primer


orden cuya respuesta es la velocidad del servomotor. Es decir, hay que identificar la
función de transferencia:

donde k es la ganancia del sistema y se obtiene como el cociente del valor final
alcanzado por la señal de salida y la magnitud del escalón aplicado al sistema; y la
constante de tiempo τ corresponde al tiempo transcurrido desde el inicio del escalón hasta
que la salida alcanza el 63%, aproximadamente, del valor final.

3. El diseño del software se realizo con un arduino nano y con labview


3.1. Software del brazo en arduino
#include <Stepper.h>
#include <Servo.h>
// change this to the number of steps on your motor
Servo myservo; // create servo object to control a servo
#define STEPS 4
int angulo=90;
int velocidad=600;
int rx=0;

// create an instance of the stepper class, specifying


// the number of steps of the motor and the pins it's
// attached to
Stepper stepper1(STEPS, 2, 3,4,5);
Stepper stepper2(STEPS, 6, 7,8,9);
//Stepper stepper3(STEPS, 10,11,12,13);

void setup()
{
Serial.begin(57600);
// velocidad del motor en 500 RPMs
stepper1.setSpeed(velocidad);
stepper2.setSpeed(velocidad);
//stepper3.setSpeed(velocidad);
myservo.attach(12,1000,2000); // attaches the servo on pin 9 to the servo
object

void loop()
{
if(Serial.available()>0)
{
rx = Serial.read();
if(201==rx){
stepper1.step(1);
}
else if(202==rx){
stepper1.step(-1);
}
else if(203==rx){
stepper2.step(1);
}
else if(204==rx){
stepper2.step(-1);
}

else if(211==rx)
{
while(211==rx)
{
if(Serial.available()>0)
{
rx = Serial.read();
}
}
stepper1.step(100);
stepper1.step(-100);
stepper2.step(100);
stepper2.step(-100);

else if((rx>=0)&&(rx<=100))
{
angulo = map(rx, 0, 100, 0, 180);
myservo.write(angulo);

}
delay(15);
}
3.2. El diseño del controlador en labview es el siguiente:

Diseño en Labview
Aplicación en VI de Labview

4. CONCLUSIONES

Se logro implementa el proyecto de manera exitosa y pudo ser controlada por labview
mediante la interfaz bluetooth

El diseño del modelo matemático del motor paso a paso y del servomotor es muy
complejo debido a su estructura.

Matlab es un instrumento muy útil para verificar la función de transferencia de los motores
paso a paso y servo.

5. BIBLIOGRAFIA

Handbook of Electric Motors

https://books.google.com.bo/books?id=4-
Kkj53fWTIC&pg=PA503&lpg=PA503&dq=mathematical+model+stepper+motor&source=bl
&ots=978gehholB&sig=3cJY6gz53bNAvicQL_GQNDoknis&hl=es&sa=X&ved=0CCcQ6AE
wAWoVChMI9eKIv_CVxgIVwY0NCh0UMQBY#v=onepage&q=mathematical%20model
%20stepper%20motor&f=false

Arduino

www.arduino.cc/en/pmwiki.php?n=Reference/Servo

Arduinobot “control de motores paso a paso”

http://arduinobot.pbworks.com/f/MotorPasoAPaso.html

Modulos bluetooth

http://www.prometec.net/bt-hc06/

Algoritmos de motores servo

http://hk.renesas.com/applications/motors_cn/algorithms/algorithms.jsp
6. ANEXOS
6.1. Diseño PROTEUS

SIMULACION DE BRAZO ROBOTICO

D5
BAT5
12V
1N4007

U5
10
COM
1 18
13 1B 1C
2 17
2B 2C
3 16
12 3B 3C MOTOR 1

+88.8
ARD1 4
4B 4C
15
5 14
11 5B 5C
6 13
6B 6C
7 12
10 7B 7C
8 11
8B 8C
ULN2803

AREF AREF
13
PB5/SCK 13
12
RESET PB4/MISO 12
RESET 11
~PB3/MOSI/OC2A 11
10
~ PB2/SS/OC1B 10
9
~ PB1/OC1A 9
8
PB0/ICP1/CLKO 8
ATMEGA328P-PU
1121

DIGITAL (~PWM)

7
ANALOG IN

PD7/AIN1 7
6
A0 A0 ~ PD6/AIN0 6
PC0/ADC0 5
A1 A1 ~ PD5/T1 5
PC1/ADC1 4
A2 A2 PD4/T0/XCK 4
PC2/ADC2 3
A3 A3 ~ PD3/INT1 3
PC3/ADC3 2 +88.8
A4 A4 PD2/INT0 2
PC4/ADC4/SDA 1
A5 A5 TX PD1/TXD 1
PC5/ADC5/SCL 0
RX PD0/RXD 0

ARDUINO UNO R3

P1
1
DCD
6
DSR
2
0 RXD
7
RTS
3
1 TXD
8
CTS
4
DTR
9
RI

ERROR
COMPIM

6.2. LAYOUT

Circuito de alimentación 200VAC a 5VDC


Este circuito será el encargado de suministrar 5 VDC al motor paso a paso,
servomotor y arduino nano.
Arduino NANO
Este circuito es el encargado de controlar el servomotor y motor paso a paso del
brazo robotico

ULN2803AP
Este circuito es el encargado de amplificar la corriente del motor paso a paso

Servomotor de 5VDC
Es el encargado de controlar la tenaza del brazo robótico
Motor PAP (Paso a paso)
Encargado de controlar el brazo robotico y sostener la tenaza con el servomotor
UNIVERSIDAD TECNOLÓGICA BOLIVIANA
CARRERA DE INGENIERÍA ELECTRÓNICA
METODOS MATEMATICOS EN CONTROL AUTOMATICO

MODELO MATEMATICO DE UN MOTOR PASO A PASO Y UN


SERVOMOTOR PARA UN BRAZO ROBOTICO

ESTUDIANTE:

IVAN GONZALO FLORES TAPIA

DOCENTE:

LIC. LIZABETH MARINO ADUVIRI

LA PAZ – BOLIVIA

2015

También podría gustarte