4 DISEO EXTERNO/INTERNO ............................................................................................... 31 4.1 LISTA DE MATERIALES ..................................................................................................... 32 4.1.1 CARACTERSTICAS DE LOS MATERIALES ....................................................................... 33 INTRODUCCIN ALA ELEC. .................................................................................................... 34 HOJA TCNICAS ..................................................................................................................... 35 PROGRAMACIN ................................................................................................................... 58
Pgina 3 Capitulo IV: IMPLEMENTACIN Y MANTENIMIENTO DEL PROYECTO 5.1 Introduccin a la Implementacin .................................................................................. 71 5.1.1 Metas de la Implementacin ....................................................................................... 71 5.1.2 Actividades de la Implementacin .............................................................................. 71 5.1.3 Proceso de la Implementacin .................................................................................... 71 5.2 Pruebas de software ....................................................................................................... 72 5.2.1 Tipos de Pruebas .......................................................................................................... 72 5.3 Mantenimiento del Proyecto .......................................................................................... 73 5.3.1 Introduccin al mantenimiento de software ............................................................... 73 5.3.2 Aspectos de Mantenimiento de Software ................................................................... 73 5.3.3 Proceso de Mantenimiento ......................................................................................... 74 5.3.4 Tipos de Mantenimiento de Software ......................................................................... 74 5.3.5 Tcnicas de Mantenimiento ......................................................................................... 75 Conclusiones ......................................................................................................................... 77 Glosario de trminos ............................................................................................................. 78 Bibliografa ............................................................................................................................ 79 Anexos .................................................................................................................................. 80
Pgina 4 DEDICATORIAS A mi asesor, a mis amigos y a mis padres por sus diversas formas de apoyo. A las personas relacionada con la bibliografa de este documento y las fuentes a las que acud para realizar este trabajo de tesina BRANDON GARCA AGUIRRE A mis padres, porque creyeron en mi y porque me sacaron adelante, dndome ejemplos dignos de superacin y entrega, porque en gran parte gracias a ustedes, hoy puedo ver alcanzada mi meta, ya que siempre estuvieron impulsndome en los momentos ms difciles de mi carrera, y porque el orgullo que sienten por mi, fue lo que me hizo ir hasta el final. Va por ustedes, por lo que valen, porque admiro su fortaleza y por lo que han hecho de m. EDUARDO VALDEZ SNCHEZ Se lo dedico con mucho cario y afecto a todas las personas que han permanecido conmigo a lo largo de 17 aos y que espero que continen conmigo celebrando mis triunfos y dndome nimos a lo largo de mis obstculos. A pesar de mi apartamiento. Agradezco a mis padres y amigos por pasar ests largas horas y que juntos hemos recorrido un gran trayecto y a su vez un gran pas en nuestra vida. ABRAHAM GNGORA GARCA
El presente trabajo se la dedicamos a nuestras familias que gracias a sus consejos y palabras de aliento crec como persona. A nuestros padres por su apoyo, confianza y amor, por brindarnos los recursos necesarios y estar a mi lado apoyndonos y aconsejndonos siempre. Gracias por ayudarnos a cumplir nuestros objetivos como personas y estudiantes. A nuestras madres por hacer de nosotros mejores personas a travs de sus consejos
SNCHEZ LPEZ ALAN RODRIGO
Pgina 5 AGRADECIMIENTOS .
Tambin a los profesores de la carrera de sistemas digitales que nos apoyaron con nuestras dudas e inquietudes, en especial al profesor Eduardo Trejo Crdenas que fue el que nos apoy en todas sus clases guindonos para poder terminar el proyecto.
Tambin a algunos profesores de la carrera que nos apoyaron dndonos los temas y en la resolucin de algunos problemas de este tipo.
Por ltimo, agradezco a mis padres, hermanos y abuelos que nos apoyaron moralmente para terminar el proyecto de la mejor manera posible.
Pgina 6 INTRODUCCIN
Este proyecto surge del reclamo de muchos visitantes por planos y conceptos que les ayuden a iniciar la construccin de un Brazo Mecnico controlado por Circuito Lgico Programable (PLC). A lo largo de este documento se vern distintos bosquejos e ideas que podrn orientarlos. Hacia el diseo de un brazo. Si bien los bosquejos presentados corresponden a un. Model de brazo bastante complejo, este puede ser adaptado de acuerdo a las Posibilidades de cada uno. Las siguientes imgenes muestran el modelo terminado del brazo que luego se ver en ms detalle:
Figura 1 brazo robtico Figura 2 brazo robtico
La finalidad de este proyecto es la integracin de un brazo robot controlado por Una micro controladora en un proceso automatizado. Dicho brazo ir situado en el punto final de todo el proceso, con la finalidad de almacenar todos los elementos de salida que nos suministra un manipulador.
Pgina 7
CAPTULO I:
MARCO DE REFERENCIA
Pgina 8 1.1 PLANTEAMIENTO DEL PROBLEMA En Mxico donde la industria no esta muy desarrollada se podra empezar a desarrollar a travs de brazos robticos sencillos y baratos para lograr abrir camino a nuevas tecnologas y dejar de ser un pas en desarrollo y empezar a fabricar las tecnologas del nuevo mundo. En el CECyT No. 3 Estanislao Ramrez Ruiz se desarrollara este brazo robtico controlado por un Circuito Lgico Programable (PLC) para comprobar su funcionamiento, los costos que podra tener a nivel industrial as como el crecimiento tecnolgico que este lograra tener si se incrementara e implementara en la industria mexicana 1.2 OBJ ETIVOS 1.2.1 GENERAL Desarrollar un brazo robtico que logre un movimiento y funcionamiento ptimo travs de un PLC logrando su funcionamiento a travs de los programas MPlab y del lenguaje escalera Ld-micro abarcando los conocimientos aprendidos a lo largo de la carrera de Tcnico en sistemas digitales. 1.2.2 ESPECFICOS -Disear y controlar el brazo robtico a travs de un plc para lograr su ptimo funcionamiento -Explicar el funcionamiento del brazo robtico y del plc para su mayor comprensin
Pgina 9 1.3 J USTIFICACIN El presente proyecto tiene como finalidad explicar el funcionamiento de un brazo robtico controlado a travs de un plc y as a su vez dar un pequeo tutorial acerca de la construccin de un brazo robtico el cual se mueve a travs de un plc dando un funcionamiento ptimo para el transporte de diferentes tipos de material hacia una banda transportadora la cual estar en funcionamiento con el brazo robtico. En este proyecto se pueden observar diferentes conocimientos los cuales a lo largo de la estancia en el plantel se fueron adquiriendo gracias a la ayuda de los profesores que en conjunto hicieron posible la realizacin del ya mencionado proyecto. El objetivo de este proyecto es la demostracin a pequea escala del funcionamiento de un brazo robtico aplicado industrialmente para la creacin de lneas de ensamblaje como automviles, embalaje u otros tipos de fabricacin que requieran la ayuda de este tipo de brazos robticos.
Pgina 10 1.4 ALCANCES Y LIMITACIONES 1.4.1 ALCANCES Contamos con laboratorios de cmputo en el plantel, los cuales podemos utilizar para poder realizar nuestro proyecto. La informacin sobre la asignatura de microelectrnica y de sistemas de control y automatizacin fue mas fcil de comprender gracias a los profesores de la asignatura
1.4.2 LIMITACIONES Costos del proyecto El material es difcil de conseguir Los distintos lenguajes de programacin El tiempo ya que es tardado y muy laborioso
Pgina 11
CAPTULO II:
MARCO TERICO
Pgina 12 2 MARCO TERICO 2.1 MPLAB Es un editor IDE gratuito, destinado a productos de la marca Microchip. Este editor es modular, permite seleccionar los distintos microcontroladores soportados, adems de permitir la grabacin de estos circuitos integrados directamente al programador. Es un programa que corre bajo Windows y como tal, presenta las clsicas barras de programa, de men, de herramientas de estado, etc. El ambiente MPLAB posee editor de texto, compilador y simulacin (no en tiempo real). Para comenzar un programa desde cero para luego grabarlo al C en MPLAB v7.XX los pasos a seguir son: 1. Crear un nuevo archivo con extensin .ASM y nombre cualquiera 2. Crear un Proyecto nuevo eligiendo un nombre y ubicacin 3. Agregar el archivo .ASM como un SOURCE FILE 4. Elegir el microcontrolador a utilizar desde SELECT DEVICE del men CONFIGURE Una vez realizado esto, se est en condiciones de empezar a escribir el programa respetando las directivas necesarias y la sintaxis para luego compilarlo y grabarlo en el PIC. Figura 2.1 MPLAB
Pgina 13
2.2 Directivas Las directivas son palabras reservadas para indicarle al MPLAB que funciones debe configurar cuando compile nuestro programa. Las indispensables para la correcta compilacin del programa son: Directiva Descripcin Sintaxis CBLOCK Defina un Bloque de Constantes cblock [<expr>] #DEFINE Defina una Etiqueta de Substitucin de Texto define <name> [<value>] define <name> [<arg>,...,<arg>] <value> DT Defina Tabla [<label>] dt <expr>[,<expr>,...,<expr>] [<label>] dt <text_string>[,<text_string>,...] ELSE Empieza el bloque alternativo de un IF Else END Fin de bloque de programa End ENDIF Fin del bloque de condiciones ensambladas Endif ENDM Fin de la definicin de una Macro Endm ENDW Fin de un bucle de While Endw EQU Define una constante para el ensamblador <label> equ <expr> IF Empieza un bloque de cdigo condicional if <expr> #INCLUDE Incluye Ficheros fuentes adiccionales include <<include_file>> |<include_file>
Pgina 14 LIST Opciones listado list [<list_option>,...,<list_option>] MACRO Declara la Definicin del Macro <label> macro [<arg>,...,<arg>] ORG Pone el Origen del Programa <label> org <expr> WHILE Realiza el bucle Mientras la Condicin es Verdadera while <expr> Tabla 2.1
Pgina 15 2.3 Compilacin del Programa y carga al PIC
Figura 2.3 PIC
Una vez escrito y depurado el programa, se procede a la compilacin. Para esto, desde el men PROJECT se elige la opcin BUILD ALL (construir todo) que, si no existen errores, devolver un mensaje como BUILD SUCCESFULL. Los errores que muestra el compilador son del tipo sintcticos, es decir que si el programa "construido" llegara a tener un error, por ejemplo que esperase a que se ponga un bit en 0 y nunca pasase, se estar en un bucle infinito a pesar de que el compilador compilar perfectamente porque no hay error de sintaxis. Tambin existen mensajes y advertencias; los mensajes pueden ser, por ejemplo, que se est trabajando en un banco de memoria que no es el bank 0, etc. Las advertencias tienen un poco ms de peso, por ejemplo: el PIC seleccionado no es el mismo que esta definido en el programa, etc. En ambos casos, mensajes y advertencias, la compilacin termina satisfactoriamente pero hay que tener en cuenta siempre lo que nos dicen estos para prevenir errores. Terminada la compilacin el MPLAB nos genera un archivo de extensin .hex el cual es completamente entendible para el PIC. Es decir, solo resta grabarlo al PIC por medio de una interfaz como por ejemplo el programador Picstart Plus de microchip. Una vez completado esto, se alimenta al mismo y el programa ya se estar ejecutando.
Pgina 16 2.4 LDMICRO LDmicro es un editor, simulador y compilador de lenguaje ladder para microcontroladores de 8-bits. Puede generar cdigo nativo para procesadores de la serie AVR de Atmel y PIC16 de Microchip a partir de un diagrama ladder. Principalmente LDmicro soporta: Entradas y salidas digitales Timers (a la conexin, a la desconexin) Contadores (ascendentes, descendentes, ciclicos) Entradas analgicas y salidas analgicas (PWM) Variables enteras e instrucciones aritmeticas Comunicacin serial Registros de desplazamiento Acceso a memorias EEPROM
Los controladores lgicos programables (PLCs) son aparatos que fueron ideados originalmente para reemplazar los sistemas de control basados en lgica cableada. Un PLC, como cualquier microprocesador, ejecuta internamente un listado de instrucciones de manera secuencial. Esto no quiere decir que tengamos que aprender una a una las instrucciones. Para programarlos existen varios lenguajes, entre ellos el Ladder. Esta lgica nos permite dibujar un circuito uniendo contactos y bobinas de rels en la pantalla, simular el funcionamiento del esquema, y luego cargarlo en la memoria del equipo. Gracias a LDmicro, y con un poco de ingenio podemos armar un PLC para aplicarlo en control y automatizacin, tanto a nivel industrial como hogareo. Soporte. El compilador genera archivos en formato Intel IHEX. La mayora de los programas dedicados a la carga de firmware en microcontroladores soportan este formato. Adems ser necesario un hardware adecuado para cargar el archivo en la memoria interna del microcontrolador a utilizar. Figura 2.4 LDMICRO
Pgina 17 Los siguientes microcontroladores son soportados y fueron probados exitosamente: PIC16F877 PIC16F876 PIC16F628 ATmega64 ATmega128 Los siguientes microcontroladores son soportados pero an no han sido probados. Es posible que funcionen, pero no hay garantas: PIC16F88 PIC16F819 ATmega162 ATmega32
Pgina 18
2.5 SERVOMOTORES Para la realizacin de este prototipo y en microrobots experimentales se utilizaron servomotores que son pequeos dispositivos utilizados tradicionalmente para radiocontrol. Su pequeo tamao, bajo consumo, adems de una buena robustez y notable precisin, los hacen ideales para cualquier construccin de microrobots figura 2.5 servomotor 2.5.1 TIPOS DE SERVOMOTORES Hay tres tipos de servomotores: Servomotores de CC Servomotores de AC Servomotores de imanes permanentes o Brushless.
Pgina 19 figura 2.5.1 partes de un servomotor. Motor de corriente continua Es el elemento que le brinda movilidad al servo. Cuando se aplica un potencial a sus dos terminales, este motor gira en un sentido a su velocidad mxima. Si el voltaje aplicado sus dos terminales es inverso, el sentido de giro tambin se invierte.
Engranajes reductores Se encargan de convertir gran parte de la velocidad de giro del motor de corriente continua en torque.
Circuito de control Este circuito es el encargado del control de la posicin del motor. Recibe los pulsos de entrada y ubica al motor en su nueva posicin dependiendo de los pulsos recibidos.
Tiene adems de los circuitos de control un potencimetro conectado al eje central del motor. Este potencimetro permite a la circuitera de control, supervisar el ngulo actual del servo motor. Si el eje est en el ngulo correcto, entonces el motor est apagado. Si el circuito chequea que el ngulo no es correcto, el motor volver a la direccin correcta, hasta llegar al ngulo que es correcto. El eje del servo es capaz de llegar alrededor de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero vara segn el fabricante.
Pgina 20 Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados. Un servo normal no es mecnicamente capaz de retornar a su lugar, si hay un mayor peso que el sugerido por las especificaciones del fabricante. 2.5.2 Los servomotores tienen 3 terminales: Terminal positivo: Recibe la alimentacin del motor (4 a 8 voltios) Terminal negativo: Referencia tierra del motor (0 voltios) Entrada de seal: Recibe la seal de control del motor
Los colores del cable de cada terminal varan con cada fabricante: el cable del terminal positivo siempre es rojo; el del terminal negativo puede ser marrn o negro; y el del terminal de entrada de seal suele ser de color blanco, naranja o amarillo
figura 2.5.2 terminales de un servomotor
Pgina 21 2.5.3 CONEXIN EXTERNA DE UN SERVOMOTOR 2.5.3.1 FUNCIONAMIENTO DEL SERVOMOTOR Control PWM La modulacin por anchura de pulso, PWM (Pulse Width Modulation), es una de los sistemas ms empleados para el control de servos. Este sistema consiste en generar una onda cuadrada en la que se vara el tiempo que el pulso est a nivel alto, manteniendo el mismo perodo (normalmente), con el objetivo de modificar la posicin del servo segn se desee. Para la generacin de una onda PWM en un microcontrolador, lo ms habitual es usar un timer y un comparador (interrupciones asociadas), de modo que el icrocontrolador quede libre para realizar otras tareas, y la generacin de la seal. sea automtica y ms efectiva. El mecanismo consiste en programar el timer con el ancho del pulso (el perodo de la seal) y al comparador con el valor de duracin del pulso a nivel alto. Cuando se produce una interrupcin de overflow del timer, la subrutina de interrupcin debe poner la seal PWM a nivel alto y cuando se produzca la interrupcin del comparador, sta debe poner la seal PWM a nivel bajo
Figura 2.5.3.1 onda PVM El sistema de control de un servo se limita a indicar en que posicin se debe situar. Esto se lleva a cabo mediante una serie de pulsos tal que la duracin del pulso indica el ngulo de giro del motor. Cada servo tiene sus mrgenes de operacin, que se corresponden con el ancho del pulso mximo y mnimo que el servo entiende. Los valores ms generales se corresponden con pulsos de entre 1 ms y 2 ms de anchura, que dejaran al motor en ambos extremos (0 y 180). El valor 1.5 ms indicara la posicin central o neutra (90), mientras que otros valores del pulso lo dejan en posiciones intermedias. Estos valores suelen ser los recomendados, sin embargo, es posible emplear pulsos menores de 1 ms o mayores de 2 ms, pudindose conseguir ngulos mayores de 180. Si se sobrepasan los lmites de movimiento del servo, ste comenzar a emitir un zumbido, indicando que se debe cambiar la longitud del pulso. El factor limitante es el tope del potencimetro y los lmites mecnicos constructivos.
Pgina 22
Figura 2.5.3.2 potenciometro El perodo entre pulso y pulso (tiempo de OFF) no es crtico, e incluso puede ser distinto entre uno y otro pulso. Se suelen emplear valores ~ 20 ms (entre 10 ms y 30 ms). Si el intervalo entre pulso y pulso es inferior al mnimo, puede interferir con la temporizacin interna del servo, causando un zumbido, y la vibracin del eje de salida. Si es mayor que el mximo, entonces el servo pasar a estado dormido entre pulsos. Esto provoca que se mueva con intervalos pequeos. Es importante destacar que para que un servo se mantenga en la misma posicin durante un cierto tiempo, es necesario enviarle continuamente el pulso correspondiente. De este modo, si existe alguna fuerza que le obligue a abandonar esta posicin, intentar resistirse. Si se deja de enviar pulsos (o el intervalo entre pulsos es mayor que el mximo) entonces el servo perder fuerza y dejar de intentar mantener su posicin, de modo que cualquier fuerza externa podra desplazarlo. El motor del servo tiene algunos circuitos de control y un potencimetro conectado al eje central del motor. Este potencimetro permite a la circuitera de control, supervisar el ngulo actual del servo motor. Si el eje est en el ngulo correcto, entonces el motor est apagado. Si el circuito chequea que el ngulo no es correcto, el motor volver a la direccin correcta, hasta llegar al ngulo que es correcto. El eje del servo es capaz de llegar alrededor de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero vara segn el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados. Un servo normal no es mecnicamente capaz de retornar a su lugar, si hay un mayor peso que el sugerido por las especificaciones del fabricante.
Pgina 23 El voltaje aplicado al motor es proporcional a la distancia que ste necesita viajar. As, si el eje necesita regresar una distancia grande, el motor regresar a toda velocidad. Si este necesita regresar slo una pequea cantidad, el motor girar a menor velocidad. A esto se le denomina control proporcional.
Pgina 24
CAPITULO III: PLANEACIN Y ANLISIS DEL PROYECTO
Pgina 25 3.1 PLANIFICACIN DEL PROYECTO 3.1.1 CALENDARIZACIN DE ACTIVIDADES Esquema bsico donde se distribuye y organiza en forma de secuencia temporal. El conjunto de experiencias y actividades diseadas a lo largo de un curso. La Organizacin temporal bsicamente se organiza en torno a dos ejes: la duracin de la asignatura y el tiempo que previsiblemente el estudiante dedicar al desarrollo de cada actividad.
Pgina 26 3.1.2 ANLISIS COSTO-BENEFICIO
Un anlisis costo-beneficio tiene como objetivo mostrar cuantitativamente la relacin que existe entre los costos de llevar a cabo las mejoras al sistema y los beneficios que obtendr la empresa por ello.
Los costos incluyen el equipo, programas, tiempo de los analistas y programadores, materiales, etctera.
Los beneficios se reflejan en la productividad, reduccin de costos de operacin, incrementos de la satisfaccin de los empleados, mejorar el servicio al cliente, etctera.
COSTO DEL EQUIPO BENEFICIO SERVOMOTORES $875 MOVIMIENTO DEL BRAZO SINTRA PVC $100 ESTRUCTURA DEL BRAZO PIC16F886 $50 CEREBRO(CONTROLADOR) MOTOR DC $200 MOVIMIENTO DE LA BANDA HULE NEGRO $80 BANDA TORNILLOS $70 AJUSTE DE PIEZAS PARA EL BRAZO CABLE $20 CONEXIONES ELECTRONICAS PLACA FENOLICA $100 CIRCUITO DEL PIC Y DEL BRAZO TOTAL $1495 Figura 3.1.2 tabla costo-beneficio
Pgina 27 3.1.3 ANLISIS DE FACTIBILIDAD
Permitir saber el costo de fabricacin aproximado de cada brazo robtico y de cada plc permitindonos as saber si podra ser desarrollado e implementado de forma correcta y adems exitosa.
3.1.3.1 ESTUDIO OPERATIVO
Se refiere a que debe existir el personal capacitado requerido para llevar a cabo el proyecto y as mismo, deben existir usuarios finales dispuestos a emplear los productos o servicios generados por el proyecto o sistema desarrollado
Para poder estudiar la factibilidad que un proyecto tendr se deben resolver las siguientes preguntas
1.- Los usuarios estn de acuerdo con la implementacin de este brazo robtico?
Si, aunque ya esta diseado estaran dispuestos a colaborar en este proyecto industrialmente para desarrollarlo a un grado mayor
2.- Los usuarios han participado en la planeacin y desarrollo del proyecto? Si, involucran dudas, temas de ayuda y de consulta en general 3.- Mejorara la integridad y la calidad en otras reas? Si, debido a que puede ser llevado a un grado mas alto industrialmente ayudando a generar tecnologas nuevas que puedan sustentar los gastos del proyecto
Pgina 28 3.1.3.2 Estudio Tcnico
Entre los aspectos tcnicos que se deben investigar durante el estudio de factibilidad, se incluyen los siguientes:
1. Existe o se puede adquirir la tecnologa necesaria para cubrir las demandas del nuevo proyecto?
2. Si se desarrolla el sistema Puede crecer con facilidad?
3. Exciten garantas tcnicas de exactitud, confiabilidad, facilidad de acceso y seguridad de los datos?
4. Cualquier aspecto tcnico no considerado puede ocasionar perdidas importantes de la empresa.
3.1.3.3 Estudio Econmico Un sistema que puede desarrollarse desde el punto de vista tcnico y que adems se utilice, si se llega a instalar, debe de ser una buena inversin para la organizacin.
Los beneficios financieros deben igualar o superar a los costos que tiene como propsito:
El costo de llevar a cabo la investigacin completa del sistema.
El costo del hardware y software para la aplicacin que se est considerando.
El costo si nada sucede, es decir, si el proyecto no se lleva a cabo.
Pgina 29 3.2 Especificacin de requerimientos del proyecto SELECCIN DE SOFTWARE
a) Tener MPLAB instalado b) Tener LD-MICRO instalado
Seleccin de Hardware a) Resolucin de pantalla 1024 * 600 de preferencia. b) Windows (Microprocesador Pentium IV 1.6 MHz o superior), Macs (Procesador Intel Core Duo a 1.33 GHz o superior), Linux (Procesador a 2.33 GHz o superior, o procesador Intel Atom a 1.6 GHz o superior para netbooks). c) Windows (520 Mb de RAM recomendado un 1Gb), Macs (256 MB de RAM), d) 200 Mb de espacio en disco duro. e) PIC16F886 f) Brazo robtico finalizado g) PLC
Pgina 30
CAPITULO IV: DISEO Y DESARROLLO DEL PROYECTO
Pgina 31 4 DISEO EXTERNO/INTERNO El diseo de sistemas es la etapa del desarrollo donde se define cmo resolver el problema usando un programa de computadora. La creatividad del diseador convierte a esta etapa en un arte. El diseo consta de dos secciones bsicas Diseo externo Diseo interno
El diseo externo se refiere a la seccin del programa que est expuesta y que ser, de hecho, la manera en que el usuario conocer al sistema. El diseo externo consiste de: Diseo de salidas Diseo de entradas Diseo de interfaz de usuario Diseo de base de datos
El diseo interno se refiere a la seccin que los programadores necesitarn para poder codificar el programa. El diseo interno consiste de: Diseo de la estructura del sistema Diseo de los algoritmos de los procesos
Figura 4 diseo externo e interno
El diseador debe empezar con el diseo externo para verificar con el usuario el cumplimiento de los requerimientos del sistema. Cuando el diseo externo ha sido aprobado por el usuario, entonces comenzar a disear la parte interna del sistema
Pgina 32 4.1 LISTA DE MATERIALES Lista de materiales utilizados en la construccin de nuestro brazo robtico: SERVOMOTORES SINTRA PVC MOTOR DC HULE NEGRO TORNILLOS CABLE PLACA FENLICA Para la realizacin del prototipo se utilizo el microcontrolador PIC16F886 que, Como se menciono antes, este es el que acta como cerebro del robot.
Figura 4.1 microcontrolador PIC16F886
Pgina 33 4.1.1 CARACTERSTICAS DE LOS MATERIALES DATOS RELEVANTES Figura 4.1.1 caractersticas de los materiales
Tipo de Programa Memoria Flash Programa de la Memoria (KB) 14 Velocidad de la CPU (MIPS) 5 Bytes de memoria RAM 368 Datos de EEPROM (bytes) 256 Comunicacin Digital Perifricos 1-A/E/USART, 1-MSSP(SPI/I2C) Captura / Comparacin / PWM Perifricos 1 CCP, 1 ECCP Temporizadores 2 x 8-bit, 1 x 16-bit ADC 11 ch, 10-bit Comparadores 2 Rango de temperatura (C) -40 to 125 Rango de Voltaje (V) 2 to 5.5 Conteo de pines 28 Canales Cap Touch 11 CARACTERSTICA PROPIEDAD
Pgina 34 INTRODUCCIN
La electrnica ha evolucionado mucho. Casi todo lo que hasta hace unos aos se hacia mediante un grupo (a veces muy numeroso) de circuitos integrados Conectados entre si, hoy se puede realizar utilizando un microcontrolador y unos Pocos componentes adicionales. De todos los fabricantes de microcontroladores que existen, los ms elegidos por Los hobbystas suelen ser los modelos de Microchip, en gran parte debido a la Excelente documentacin gratuita que proporciona la empresa para cada modelo. 36 El lenguaje nativo de estos microcontroladores es el ASM, y en el caso de la familia 16F solo posee 35 instrucciones. Pero el ASM es un lenguaje que esta mucho ms cerca del hardware que del programador, y gracias a la miniaturizacin que permite incorporar cada vez ms memoria dentro de un microcontrolador sin aumentar prcticamente su costo, han surgido compiladores de lenguajes de alto nivel. Entre ellos se encuentran varios dialectos BASIC y C. Lo ms interesante de trabajar con microcontroladores es que se necesitan conocimientos tanto de electrnica (hardware) como de programacin (software). Un microcontrolador es como un ordenador en pequeo: dispone de una memoria donde se guardan los programas, una memoria para almacenar datos, dispone de puertos de entrada y salida, etc. A menudo se incluyen puertos seriales (RS-232), conversores analgico/digital, generadores de pulsos PWM para el control de motores, bus I2C, y muchas cosas ms. Por supuesto, no tienen ni teclado ni monitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas LCD o LED para mostrar informacin. En general, por cada cuatro ciclos de reloj del microcontrolador se ejecuta una instruccin ASM. Esto significa que un PIC funcionando a 20MHz puede ejecutar 5 millones de instrucciones por segundo. Los pines del PIC se dedican casi en su totalidad a los puertos. El resto (2 o mas) son los encargados de proporcionar la alimentacin al chip, y a veces, un sistema de RESET. Es posible saber si un pin esta en estado alto (conectado a 5V o a un 1 lgico) o en estado bajo (puesto a 0V o a un 0 lgico). Tambin se puede poner un pin de un puerto a 1 o 0. De esta manera, y mediante un rel, por ejemplo, se puede encender o apagar una luz, motor, maquina, etc.
Pgina 35 HOJ AS TCNICAS
Pgina 36
Pgina 37
Pgina 38
Pgina 39
Pgina 40
Pgina 41
Pgina 42
Pgina 43
Pgina 44
Pgina 45
Pgina 46
Pgina 47
Pgina 48
Pgina 49
Pgina 50
Pgina 51
Pgina 52
Pgina 53
Pgina 54
Pgina 55
Pgina 56
Pgina 57
Pgina 58 PROGRAMACION list p=16f886 ; list directive to define processor #include <p16f886.inc> ; processor specific variable definitions
; '__CONFIG' directive is used to embed configuration data within .asm file. ; The labels following the directive are located in the respective .inc file. ; See respective data sheet for additional information on configuration word.
Capitulo V: Implementacin y Mantenimiento del Proyecto
Pgina 71 5.1 Introduccin a la Implementacin La implementacin se refiere a programacin. Unidad se refiere a la parte ms pequea de la implementacin a la que se dar mantenimiento por separado y puede ser un mtodo individual o una clase. 5.1.1 Metas de la Implementacin El propsito de la implementacin es satisfacer los requerimientos de la manera que especifica el diseo detallado. Aunque el diseo detallado debe ser suficiente como documento contra el que se programa, es comn que el programador examine todos los documentos anteriores al mismo tiempo (arquitectura, requerimientos D y requerimientos C), para ayudar a disminuir las inconsistencias entre documentos. 5.1.2 Actividades de la Implementacin Para llevar a cabo las actividades de implementacin para el proyecto se requiere implementar lo siguiente: Implementar en partes
Usar diseo detallado Aplicar estndares de cdigo Crear modelos de implementacin
5.1.3 Proceso de la Implementacin
Para llevar a cabo el proceso de implementacin del proyecto se pretende aplicar los siguientes pasos para definir las fases de implementacin.
Definir estndares del cdigo Paquete de marco de trabajo Paquete de aplicacin Implementacin de Mtodos Requerimientos Diseo detallado seudocdigo? diagramas de flujo? Inspeccionar unidades Realizar pruebas de unidades
Pgina 72 5.2 Pruebas de software Las pruebas de software, en ingls testing son los procesos que permiten verificar y revelar la calidad de un producto de software. Son utilizadas para identificar posibles fallos de implementacin, calidad o usabilidad de un programa de ordenado o videojuego. Bsicamente es una fase en el desarrollo de software consistente en probar las aplicaciones construidas. Las pruebas de software se integran dentro de las diferentes fases del ciclo del software dentro de la Ingeniera de software. As se ejecuta un programa y mediante tcnicas experimentales se trata de descubrir que errores tiene. 5.2.1 Tipos de Pruebas Pruebas unitarias Pruebas funcionales Pruebas de integracin Pruebas de validacin Pruebas de sistemas Caja blanca (sistemas) Caja negra (sistemas) Pruebas de aceptacin Para llevar a cabo el proceso de pruebas del proyecto, se aplicaron las pruebas de funcionalidad, integracin y validacin del tutorial web: Prueba de validacin se aplico con el fin de probar uno de sus componentes durante o al final de proceso de desarrollo para determinar si satisface los requisitos marcados por el usuario, dando como resultado que el producto que se desarrollo es correcto, de acuerdo con los requerimientos del proyecto.
Pruebas funcionales se aplico con la finalidad de probar las entradas y salidas de los datos vlidos y no validos o errneos.
Pruebas de integracin se aplico con la finalidad de verificar a progresin ordenada de pruebas que van desde los componentes o mdulos y que culminan en el sistema completo.
Para llevar a cabo las pruebas de integracin se sigui el siguiente orden:
Pgina 73
La forma de preparar casos Las herramientas necesarias El orden de codificar y probar los mdulos El coste de la depuracin El coste de preparacin de casos 5.3 Mantenimiento del Proyecto Es una de las actividades mas comunes en la ingeniera de software, es el proceso de mejora y optimizacin del software despus de su entrega al usuario final, as como tambin la correccin y prevencin de los defectos. El mantenimiento es tambin una de las fases en el ciclo de vida de desarrollo de sistemas, que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene despus del despliegue (implementacin) del software en el campo. 5.3.1 Introduccin al mantenimiento de software El mantenimiento de software de un producto consiste en las actividades realizadas sobre la aplicacin una vez entregado el producto. El mantenimiento de software se describe como: el proceso de modificar un sistema o componente de software entregado para corregir defectos, mejorar el desempeo o algn otro atributo, o adaptarlo al cambio del entorno. Se sabe que el mantenimiento consume entre el 40% y 90% de los costos del ciclo de vida de las aplicaciones. 5.3.2 Aspectos de Mantenimiento de Software Administracin Difcil definir el retorno sobre la inversin Proceso Se requiere una amplia coordinacin para manejar el flujo de solicitudes de mantenimiento Tcnica Debe cubrirse todo el impacto de los cambios Las pruebas son muy costosas en comparacin con la utilidad de cada cambio. Las pruebas concretas son ideales pero costosas Todava se requieren las pruebas de regresin
Pgina 74 5.3.3 Proceso de Mantenimiento Para seguir el proceso de mantenimiento del proyecto se aplico el siguiente proceso aplicando los estndares establecidos para ello. 1. Disear el mantenimiento 1b. Asegurar la sustentabilidad 1c. Planear la transicin al mantenimiento 1d. Planear la logstica posterior a la entrega 2. Determinar el alcance del mantenimiento todo tipo? slo correctivo? correctivo limitado 3. Identificar quien da mantenimiento Interno? Contratado? 4. Desarrollar plan de mantenimiento Cambiar procedimiento de aprobacin de control Apoyo tcnico 5. Estimar costos 6. Realizar mantenimiento 5.3.4 Tipos de Mantenimiento de Software Es necesario distinguir entre acciones de mantenimiento que reparan defectos y las que mejoran la aplicacin, y para ello se aplican los tipos de mantenimiento: Reparacin
Pgina 75 Correctiva Identificar defecto y eliminarlo
Adaptable Cambios obtenidos al operar los cambios en sistema, hardware o DBMS Mejoras Perfeccionamiento Cambios que resultan de las solicitudes de los usuarios Preventivas Cambios hechos al software para facilitar el mantenimiento 5.3.5 Tcnicas de Mantenimiento
Cdigo de sistema Impacto Mximo Diseo detallado Cdigo de funcin Cdigo de Mdulo Arquitectura Especificaciones de interfaz Defecto de requerimientos insertado aqu
Pgina 76
Impacto Mnimo Diseo detallado Cdigo de funcin Defecto insertado aqu Cdigo de Mdulo Arquitectura Especificaciones de interfaz Requerimientos
Cdigo de sistemas
Pgina 77 CONCLUSIONES El desarrollo del presente brazo robtico, nos permito aplicar los conocimientos adquiridos durante la Carrera de Tcnico en Sistemas Digitales, ya que cada una de las Unidades de Aprendizaje sirvieron para conformar los fases del proceso del proyecto.
Pgina 78
GLOSARIO DE TRMINOS PLC-CIRCUITO LGICO PROGRAMABLE
Pgina 79
BIBLIOGRAFIA 1. Pressman Roger. Ingeniera de Software Un enfoque prctico. Editorial Mc Graw-Hill. Sptima edicin. 2. Braude J. Erik. Ingeniera de Software Una perspectiva orientada a objetos. Editorial Alfaomega. Quinta edicin. 3. Whitten Bentley. Anlisis de Sistemas Diseo y Mtodos. Editorial Mc Graw-Hill. Sptima edicin.