INSTITUTO POLITÉCNICO NACIONAL CECYT MIGUEL BERNARD PROGRAMACIÓN DE SISTEMAS AUTOMATIZADOS BRAZO AUTOMATIZADO Integrantes Bolaños Aranda Emanuel 2017020941 Cabañas Alfaro Luis David 2017021021 Grupo: 6IM04 Profesor: Gorostiola Martínez Jaime Saúl Fecha de entrega: 29 de mayo 2019 Índice Introducción………………………………………………………………………………………3 Descripción general de la construcción del brazo…………………………………………...3 Conclusiones……………………………………………………………………………………..4 Diagrama de construcción………………………………………………………………………5 Diagrama de Control eléctrico y electrónico………………………………………………….6 Lista de materiales………………………………………………………………………………7 Simulación del circuito de control……………………………………………………………...8 Programación del brazo…………………………………………………………………………9 2 Introducción A continuación se mostrara el proceso de cómo fue la elaboración del proyecto del brazo automatizado. Se abordara la secuencia de cómo fue armada la estructura, los componentes que se implementaron para elaborarlo, estos vienen siendo los eléctricos y electrónicos. Igualmente se explica el ciclo de trabajo que está programado para nuestro brazo esto mostrando el código de programación para que realice la tarea. Construcción del brazo Primero para construir el brazo fue necesario tener los planos con los cuales nos íbamos a basar, para esto utilizamos el software SOLIDWORKS, con esto trazamos las piezas que usamos nuestro brazo y también las ensamblamos para ver cómo sería el brazo. Una vez ya con los planos terminamos pasamos a la parte de elaboración. Para esto ya necesitamos el material del cual va a estar hecho el brazo. En nuestro caso ocupamos 2 materiales, uno fue madera del tipo MDF de 5mm de ancho y el otro fue acrílico de color de 3mm de ancho. En la madera se traza las piezas con apoyo de una regla y un lápiz, con un taladro se hacen las perforaciones requeridas, luego con una segueta se cortan las piezas trazadas y con una lija se les da un pequeño acabado. Se repite el mismo procedimiento para el acrílico. Una vez que tengamos todas las piezas cortadas las pintamos con pintura acrílica. Cuando se haya terminado de secar la pintura con un poco de pegamento blanco comenzamos a pegar las partes del brazo que lo requiere, un ejemplo es la base de la cadera y la cadera. Ya que secaron las piezas es momento de instalar los servomotores a la estructura, para el trabajo ocupamos 4 servomotores, un servomotor se ocupó para el movimiento de la cintura, otro servo se ocupó para el movimiento del antebrazo, otro fue para el movimiento del brazo y el ultimo para mover el gripper. Ya una vez instalados los servos se les agrega su engrane, esto para transmitir el movimiento a la pieza que está destinada, y para mandar el movimiento a la otra pieza se le agrego un tornillo a la parte de en medio, el cual sirvió para transmitir el movimiento en ambos antebrazos. Se repitió el mismo procedimiento para el brazo. En la parte del gripper se le puso una pequeña base para que se pudiera colocar, y para sujetarlo se ocupó un pegamento de alta resistencia para asegurar que quedara firme. Finalmente se termina de ensamblar los demás componentes del brazo para pasar a la parte de la programación. A continuación se muestra una foto del ensamble final. 3 Para realizar la parte de programación primero tuvimos que establecer cuál iba a ser el ciclo de trabajo que iba a realizar, el cual es el de tomar un objeto desde un punto “A” y moverlo hasta un punto “B”. Para programar esta secuencia de trabajo ocupamos 2 métodos, uno fue atreves de lenguaje en C y otro con una tarjeta controladora, esto lo hicimos controlando 2 servos en cada método y al final los unimos en un solo ciclo. Con la programación ya terminada se pasó todo a un PIC para ser controlado mediante un botón pulsador. Con esto se puede dar inicio a nuestro ciclo de trabajo. Conclusiones Nosotros al elaborar este programa hemos logrado aplicar cada una de las habilidades que hemos adquirido en estos 3 semestres que ha durado la carrera, cada aplicación ha sido distinta y de gran importancia para realizar esto. Un claro ejemplo de esto es la elaboración de los planos para elaborar el brazo, aquí se unió los conocimientos de dibujo técnico junto a los conocimientos de dibujo por computadora, con ello se logró un buen trabajo para elaborar los planos. También otra gran ventaja fue que ya teníamos experiencia a la hora de armar nuestros circuitos de control, esto lo venimos majando desde tercer semestre y hasta sexto hemos aplicado esto en gran escala; también gracias a esto tenemos los conocimientos para programar en diversas plataformas, esto es caso de ld micro y lenguaje C++. Y lo último que hemos visto fue la programación de los brazos en el taller, primero tuvimos que ver que eran los grados de libertad y como se componen los robots, así nos dimos cuenta de que para que el robot tengo movimiento de gran precisión se llegan a ocupar los servomotores. También gracias a las simulaciones en el taller vimos la forma de ir guardando puntos para realizar un programa que cumpla con la tarea de ir trasladando objetos en diferentes puntos. Esto es todo lo que hemos podido concluir, este es un proyecto que nos enriquece en gran medida, ya que ponemos en práctica las habilidades más importantes que hemos adquirido a lo largo de la carrera. 4 Diagrama de construcción 5 Diagrama de Control eléctrico y electrónico 6 Lista de materiales Materiales para construir el brazo. 1 tabla de madera MDF de 5mm de ancho de 40x40 3 servomotores de 15K con 180° 1 servomotor de .500K con 180° 4 engranes del servomotor. 1 placa de acrílico de 6mm de 20x20. 16 tornillos para servomotor. 2 tornillo de 5mm 2 tornillos de 2inch 4 tuercas para tornillo. 4 roldanas. 1 mini tambor de papel. Pegamento blanco Kola Loca en gota. Pintura acrílica. Materiales para conectar. 1 protoboard. 1 cristal de cuarzo de 8Hz. 12 jumpers. 2 botones pulsadores. 1 PIC18F4550 1 fuente de 5V. 7 Simulación del circuito de control 8 Programación del brazo #include "prueba.h" #use delay (clock=8M) //clock=4000000 #fuses XT,NOWDT,NOLVP #USE STANDARD_IO(D) int i; void main() { setup_adc_ports(NO_ANALOGS|VSS_VDD); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_wdt(WDT_OFF); setup_timer_0(RTCC_INTERNAL); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_timer_3(T3_DISABLED|T3_DIV_BY_1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); setup_oscillator(OSC_8MHZ|OSC_INTRC|OSC_31250|OSC_PLL_OFF); { output_low(PIN_D2); delay_ms(4000); 9 while(true) { for(i=0;i<60;i++); { //mover a 0 grados output_high(PIN_D2); delay_us(2000); output_low(PIN_D2); delay_ms(20); } delay_ms(3000); for(i=0;i<60;i++); { //mover a 0 grados output_high(PIN_D2); delay_us(900); output_low(PIN_D2); delay_ms(200); } delay_ms(3000); } } } 10