Академический Документы
Профессиональный Документы
Культура Документы
FACULTAD DE INGENIERA
PROGRMA DE INGENIERA MECNICA
2017
1. DESCRIPCIN DEL PROYECTO
I. Etapa de Consulta
Se realizaron diferentes consultas acerca del nmero de grados de libertad en un
robot bpedo lo significa en ingeniera el nmero mnimo de parmetros que se
necesitan para especificar y determinar completamente la velocidad de un
mecanismo o el nmero de reacciones de una estructura.
Los movimientos en un espacio tridimensional, es decir, la capacidad de moverse
hacia delante/atrs, arriba/abajo, izquierda/derecha (traslacin en tres ejes
perpendiculares) es la funcin del robot en este proyecto. El movimiento a lo largo
de cada uno de los ejes es independiente de los otros, y cada uno es independiente
de la rotacin sobre cualquiera de los ejes.
Con el fin de tener un concepto claro de cules seran los ngulos en que los
servomotores se deben posicionar, para as, de este modo lograr la estabilidad de
del robot, en el momento que l se desplace por una superficie plana se observaron
las tres posiciones de un servomotor la posicin inicial, y para la marcha las
posiciones adelante/atrs.
Por otra parte tambin se observ diferentes videos referentes a la construccin y
funcionamiento de robots bpedos, para as determinar los grados de libertad, los
elementos que componen la estructura mecnica y los elementos electrnicos. De
igual forma se han considerado las recomendaciones proporcionadas por el Msc.
Ing. Albert Deluque Pinto en el aula clase.
Servomotor MG955:
Dentro de los servos econmicos el MG995 Tower Pro se destaca por su gran
torque, engranajes metlicos y gran robustez. Funciona con la mayora de tarjetas
electrnicas con microcontroladores y adems con la mayora de los sistemas de
radio control comercial. Es utilizado principalmente en proyectos de robtica y
modelismo de mediano tamao.
El servo Tower Pro MG995 tiene un conector universal tipo S que encaja
perfectamente en la mayora de los receptores de radio control incluyendo los
Futaba, JR, GWS, Cirrus, Hitec y otros. Los cables en el conector estn distribuidos
de la siguiente forma: Rojo =Alimentacin (+), Caf = Alimentacin () o tierra,
Naranja= Seal PWM.
Caractersticas:
Este cable es tipo Dupont, el cual lo hace bastante prctico e ideal para
profesionales, estudiantes y entusiastas del diseo electrnico, aplicaciones de
mecatrnica, comunicaciones, control, computacin, telemtica, Robtica, entre
otros. Los conectores permiten realizar prototipos y montajes semi-definitivos o
definitivos con gran facilidad. Estos cables permiten llevar a cabo conexiones de
forma ms profesional, sin soldaduras, sin falsos contactos y sin desorden. Los
cables vienen en un arns de cable plano (tipo listn) de 40 conductores, cada uno
con su conector independiente. Se Pueden separar todos y utilizarlos de manera
individual o crear arneses especiales de 2, 4, 8 o ms conductores removiendo
solamente unas piezas conforme se requieran, con pines tipo macho
(espaciamiento de 2.54mm) por ambos extremos.
Soporte para servomotor estndar como el MG995, este soporte es muy utilizado
en robtica, se utilizar para sujetar el servomotor a otro otra base o accesorio para
el robot, con este producto se pueden armas los brazos robticos, hexpodos,
robots bpedos y muchos otros proyectos de robtica.
Este accesorio metlico est hecho de aluminio y oxido de plata, lo que lo hace un
material muy fuerte, resistente y liviano, adems de esta cualidad es compatible con
la mayora de los servomotores en el mercado como lo son Hitec, Parallax, Futaba,
entre otras marcas con las medidas estndar 40mm, 20mm, 36mm o menos.
Arduino Mega 2560:
Para prototipo ideal para realizar diseos rpidos en poco espacio. Dispone de 830
puntos de conexin con adhesivo en su parte inferior. Es compatible con el Shield
de prototipos Arduino, y tiene un adhesivo resistente. Esta Protoboard cuenta con
una lmina auto-adherible en la parte de abajo. Permiten configurar fcilmente y
circuitos de prueba sin el uso de soldadura, que le proporciona un mtodo rpido y
fiable para montar circuitos. Ideal para experimentar con el diseo de circuitos en
los laboratorios, permite que los componentes electrnicos para estar
interconectados casi en un sinnmero de maneras para producir circuitos de trabajo.
Porque no se requiere soldadura, la modificacin o la revisin de los circuitos se
puede hacer con bastante facilidad. Esta protoboard consiste en un conjunto
formado de tomas de corriente de metal insertado en una carcasa de plstico
resistente.
Especificaciones:
Regulador 5V 7805:
Caractersticas:
Voltaje de salida 5 V
Corriente de salida 1 A
Regulacin de carga 100 mV
Voltaje de entrada MIN 7 V
Voltaje de entrada MX 35 V
Regulacin de lnea 100 mV
Temperatura de trabajo mxima + 125 C
Temperatura de trabajo mnima 0 C
Nmero de salidas 1
Polaridad Positiva
Serie L7805
BITCORA
1. Encontrar el 0 y el 180 en cada uno de los servos:
Para ello primero se arma el siguiente circuito.
Se conecta el cable amarillo del servo a la salida digital 2, el cable rojo del
servo al 5V de la placa y el marrn al GND. Tambin se conecta la salida de
seal del potencimetro a la entrada anloga A0 de la placa, la tierra del
potencimetro a la tierra de la placa (GND) y por ltimo la entrada de seal
del potencimetro al 5V de la placa.
Lo primera actividad es armar las piernas del robot, para posteriormente unirlas a el
Waist bracket robot bpedo, y asi completar la estructura. Las piernas estan
constituida cada una por por los pies, los bracket adaptador de forma de L mas
bracket forma de U corto.
En esta imagen se observa el modulo Bluetooth HC-06 el cual tiene como funcin
la transmisin y recepcin de datos entre la tarjeta arduino y un controlador externo
que permite la ejecucin de diferentes ordenes por medio de una interfas de una
aplicacin desarrollada para platarfoma android.
Obtencion de los ngulos para la Caminata del Robot
Primero se establecio una posicion inicial en cada uno de los servos la cual servia
como la posicion en la cual el bipedo se encontraba en equilibrio por ejemplo: la
rodilla izquierda se posiciono en 90 como posicion inicial. Segundo se
establecieron otras dos posiciones que sirven para el avance del robot las cuales
son atrs y adelante, es decir, se establecio que el servo se debia mover en un
angulo >90 y <90, por ejemplo: moverse hacia adelante a 110 y moverse hacia
atrs a 70 esto es lo que causa que el robot avance.
/*****************************pies**************************************/
int pieI_Normal = 150; int pieI_Mov_I = 130; int pieI_Mov_D = 165;
int pieD_Normal = 20; int pieD_Mov_I = 5; int pieD_MovD = 32;
void posicionInicial(){
servo1.write(caderaI_Normal); servo4.write(caderaD_Normal);
servo2.write(rodillaI_Normal); servo5.write(rodillaD_Normal);
servo3.write(pieI_Normal); servo6.write(pieD_Normal);
}
void setup() {
Serial.begin(9600);
servo1.attach(4); servo4.attach(7);
servo1.write(caderaI_Normal); servo4.write(caderaD_Normal);
servo2.attach(3); servo5.attach(6);
servo2.write(rodillaI_Normal); servo5.write(rodillaD_Normal);
servo3.attach(2); servo6.attach(5);
servo3.write(pieI_Normal); servo6.write(pieD_Normal);
}
void caminarAdelante(){
servo3.write(pieI_Mov_D);
servo6.write(pieD_MovD);
servo1.write(caderaI_Mov_atrs);
servo4.write(caderaD_Mov_adlt);
delay(80);
servo2.write(rodillaI_Mov_atrs);
servo5.write(rodillaD_Mov_adlt);
delay(500);
servo3.write(pieI_Normal);
servo6.write(pieD_Normal);
delay(800);
servo6.write(pieD_Mov_I);
servo3.write(pieI_Mov_I);
servo1.write(caderaI_Mov_adlt);
servo4.write(caderaD_Mov_atrs);
delay(80);
servo2.write(rodillaI_Mov_adlt);
servo5.write(rodillaD_Mov_atrs);
delay(500);
servo3.write(pieI_Normal);
servo6.write(pieD_Normal);
delay(800);
}
void caminarAtras(){
servo6.write(pieD_Mov_I);
servo3.write(pieI_Mov_I);
servo1.write(caderaI_Mov_atrs);
servo4.write(caderaD_Mov_adlt);
delay(80);
servo2.write(rodillaI_Mov_atrs);
servo5.write(rodillaD_Mov_adlt);
delay(500);
servo3.write(pieI_Normal);
servo6.write(pieD_Normal);
delay(800);
servo3.write(pieI_Mov_D-9);
servo6.write(pieD_MovD);
servo1.write(caderaI_Mov_adlt);
servo4.write(caderaD_Mov_atrs+3);
delay(80);
servo2.write(rodillaI_Mov_adlt);
servo5.write(rodillaD_Mov_atrs+3);
delay(500);
servo3.write(pieI_Normal);
servo6.write(pieD_Normal);
delay(800);
}
void doblarIzq(){
servo1.write(caderaI_Normal);
servo2.write(rodillaI_Normal-5);
servo3.write(pieI_Normal);
servo6.write(pieD_MovD+1);
servo4.write(caderaD_Mov_adlt-15);
delay(80);
servo5.write(rodillaD_Mov_adlt+5);
delay(500);
servo6.write(pieD_Normal-7);
delay(300);
servo5.write(rodillaD_Mov_atrs);
servo4.write(caderaD_Mov_atrs);
delay(700);
}
void doblarDerecha(){
servo4.write(caderaD_Normal);
servo5.write(rodillaD_Normal);
servo6.write(pieD_Normal-3);
servo3.write(pieI_Mov_I-3);
servo1.write(caderaI_Mov_adlt+20);
delay(80);
servo2.write(rodillaI_Mov_adlt-6);
delay(500);
servo3.write(pieI_Normal);
delay(300);
servo2.write(rodillaI_Mov_atrs);
servo1.write(caderaI_Mov_atrs);
delay(700);
}
void loop() {
if(Serial.available()>0){
input = Serial.read();
}
switch(input)
{
case 'A':
caminarAdelante();
break;
case 'B':
caminarAtras();
break;
case 'I':
doblarIzq();
break;
case 'D':
doblarDerecha();
break;
}
}