brazo robÓtico controlado por plc - …images.wikia.com/hill/es/images/e/eb/tesina.pdf · brazo...
Post on 19-Sep-2018
228 Views
Preview:
TRANSCRIPT
Página 1
Instituto Politécnico Nacional
Centro De Estudios Científicos Y Tecnológicos N° 3
“Estanislao Ramírez Ruíz”
BRAZO ROBÓTICO
CONTROLADO POR PLC
PRESENTA:
GÓNGORA GARCÍA JESÚS ABRAHAM
SÁNCHEZ LÓPEZ ALAN RODRIGO
GARCÍA AGUIRRE BRANDON MISAEL
VALDEZ SÁNCHEZ EDUARDO ALEXEIK
ASESOR: EDUARDO TREJO CÁRDENAS
Página 2
Índice Dedicatorias ................................................................................................... 3 Agradecimientos ............................................................................................. 4 Introducción .................................................................................................... 5 Capítulo I. Marco de Referencia .................................................................. 6
1.1 Planteamiento del Problema .................................................................. 7 1.2 Objetivos ................................................................................................ 7 1.2.1 General ................................................................................................ 7 1.2.2 Específicos .......................................................................................... 7 1.3 Justificación ............................................................................................ 8 1.4 Alcances y Limitaciones ......................................................................... 9 1.4.1 Alcances .............................................................................................. 9 1.4.2 Limitaciones ........................................................................................ 9
Capítulo II. Marco Teórico ............................................................................ 10
2.1 MPLAB ................................................................................................... 11 2.2 Directivas ................................................................................................ 12 2.3 Compilación del pic ................................................................................ 13 2.4 LD-MICRO .............................................................................................. 14
Capítulo III. Planeación y análisis del proyecto ......................................... 16
3.1 Planificación del proyecto ....................................................................... 17 3.1.1 Análisis Costo-Beneficio ...................................................................... 18 3.1.3 Análisis de factibilidad ......................................................................... 19 3.1.3.1 estudio operativo .............................................................................. 19 3.1.3.2 estudio tecnológico .......................................................................... 20
Capitulo IV: Diseño y Desarrollo del proyecto………………………………22
4 DISEÑO EXTERNO/INTERNO ............................................................................................... 31 4.1 LISTA DE MATERIALES ..................................................................................................... 32 4.1.1 CARACTERÍSTICAS DE LOS MATERIALES ....................................................................... 33 INTRODUCCIÓN ALA ELEC. .................................................................................................... 34 HOJA TÉCNICAS ..................................................................................................................... 35 PROGRAMACIÓN ................................................................................................................... 58
Página 3
Capitulo IV: IMPLEMENTACIÓN Y MANTENIMIENTO DEL PROYECTO
5.1 Introducción a la Implementación .................................................................................. 71 5.1.1 Metas de la Implementación ....................................................................................... 71 5.1.2 Actividades de la Implementación .............................................................................. 71 5.1.3 Proceso de la Implementación .................................................................................... 71 5.2 Pruebas de software ....................................................................................................... 72 5.2.1 Tipos de Pruebas .......................................................................................................... 72 5.3 Mantenimiento del Proyecto .......................................................................................... 73 5.3.1 Introducción 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 Técnicas de Mantenimiento ......................................................................................... 75 Conclusiones ......................................................................................................................... 77 Glosario de términos ............................................................................................................. 78 Bibliografía ............................................................................................................................ 79 Anexos .................................................................................................................................. 80
Página 4
DEDICATORIAS
A mi asesor, a mis amigos y a mis padres por sus diversas formas de apoyo. A las personas relacionada con la bibliografía de este documento y las fuentes a las que acudí para realizar este trabajo de tesina
BRANDON GARCÍA AGUIRRE
A mis padres, porque creyeron en mi y porque me sacaron adelante, dándome ejemplos dignos de superación y entrega, porque en gran parte gracias a ustedes, hoy puedo ver alcanzada mi meta, ya que siempre estuvieron impulsándome en los momentos más difíciles 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 SÁNCHEZ
Se lo dedico con mucho cariño y afecto a todas las personas que han permanecido conmigo a lo largo de 17 años y que espero que continúen conmigo celebrando mis triunfos y dándome ánimos a lo largo de mis obstáculos. A pesar de mi apartamiento. Agradezco a mis padres y amigos por pasar estás largas horas y que juntos hemos recorrido un gran trayecto y a su vez un gran pasó en nuestra vida.
ABRAHAM GÓNGORA GARCÍA
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 apoyándonos y aconsejándonos siempre. Gracias por ayudarnos a cumplir nuestros objetivos como personas y estudiantes. A nuestras madres por hacer de nosotros mejores personas a través de sus consejos
SÁNCHEZ LÓPEZ ALAN RODRIGO
Página 5
AGRADECIMIENTOS
. También a los profesores de la carrera de sistemas digitales que nos apoyaron con nuestras dudas e inquietudes, en especial al profesor Eduardo Trejo Cárdenas que fue el que nos apoyó en todas sus clases guiándonos para poder terminar el proyecto. También a algunos profesores de la carrera que nos apoyaron dándonos los temas y en la resolución 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.
Página 6
INTRODUCCIÓN
Este proyecto surge del reclamo de muchos visitantes por planos y conceptos que les ayuden a iniciar la construcción de un Brazo Mecánico controlado por Circuito Lógico Programable (PLC). A lo largo de este documento se verán distintos bosquejos e ideas que podrán orientarlos. Hacia el diseño 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 imágenes muestran el modelo terminado del brazo que luego se verá en más detalle:
Figura 1 brazo robótico Figura 2 brazo robótico
La finalidad de este proyecto es la integración 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.
Página 7
CAPÍTULO I:
MARCO DE REFERENCIA
Página 8
1.1 PLANTEAMIENTO DEL PROBLEMA
En México donde la industria no esta muy desarrollada se podría empezar a
desarrollar a través de brazos robóticos sencillos y baratos para lograr abrir
camino a nuevas tecnologías y dejar de ser un país en desarrollo y empezar a
fabricar las tecnologías del nuevo mundo.
En el CECyT No. 3 “Estanislao Ramírez Ruiz” se desarrollara este brazo robótico
controlado por un Circuito Lógico Programable (PLC) para comprobar su
funcionamiento, los costos que podría tener a nivel industrial así como el
crecimiento tecnológico que este lograría tener si se incrementara e implementara
en la industria mexicana
1.2 OBJETIVOS
1.2.1 GENERAL
Desarrollar un brazo robótico que logre un movimiento y funcionamiento óptimo
través de un PLC logrando su funcionamiento a través de los programas MPlab y
del lenguaje escalera Ld-micro abarcando los conocimientos aprendidos a lo largo
de la carrera de Técnico en sistemas digitales.
1.2.2 ESPECÍFICOS
-Diseñar y controlar el brazo robótico a través de un plc para lograr su óptimo
funcionamiento
-Explicar el funcionamiento del brazo robótico y del plc para su mayor
comprensión
Página 9
1.3 JUSTIFICACIÓN
El presente proyecto tiene como finalidad explicar el funcionamiento de un brazo
robótico controlado a través de un plc y así a su vez dar un pequeño tutorial
acerca de la construcción de un brazo robótico el cual se mueve a través 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
robótico.
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 realización del ya mencionado
proyecto.
El objetivo de este proyecto es la demostración a pequeña escala del
funcionamiento de un brazo robótico aplicado industrialmente para la creación de
líneas de ensamblaje como automóviles, embalaje u otros tipos de fabricación que
requieran la ayuda de este tipo de brazos robóticos.
Página 10
1.4 ALCANCES Y LIMITACIONES
1.4.1 ALCANCES
Contamos con laboratorios de cómputo en el plantel, los cuales podemos
utilizar para poder realizar nuestro proyecto.
La información sobre la asignatura de microelectrónica y de sistemas de
control y automatización fue mas fácil de comprender gracias a los
profesores de la asignatura
1.4.2 LIMITACIONES
Costos del proyecto
El material es difícil de conseguir
Los distintos lenguajes de programación
El tiempo ya que es tardado y muy laborioso
Página 11
CAPÍTULO II:
MARCO TEÓRICO
Página 12
2 MARCO TEÓRICO
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,
además de permitir la grabación de estos circuitos integrados directamente al
programador.
Es un programa que corre bajo Windows y como tal, presenta las clásicas barras
de programa, de menú, de herramientas de estado, etc. El ambiente MPLAB®
posee editor de texto, compilador y simulación (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 extensión .ASM y nombre cualquiera
2. Crear un Proyecto nuevo eligiendo un nombre y ubicación
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
Página 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 compilación del programa son:
Directiva Descripción Sintaxis
CBLOCK Defina un Bloque de Constantes cblock [<expr>]
#DEFINE Defina una Etiqueta de
Substitución 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 definición 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 código
condicional
if <expr>
#INCLUDE Incluye Ficheros fuentes
adiccionales
include <<include_file>>
|“<include_file>”
Página 14
LIST Opciones listado list [<list_option>,...,<list_option>]
MACRO Declara la Definición del Macro <label> macro [<arg>,...,<arg>]
ORG Pone el Origen del Programa <label> org <expr>
WHILE Realiza el bucle Mientras la
Condición es Verdadera
while <expr>
Tabla 2.1
Página 15
2.3 Compilación del Programa y carga al PIC
Figura 2.3 PIC
Una vez escrito y depurado el programa, se procede a la compilación. Para esto,
desde el menú PROJECT se elige la opción BUILD ALL (construir todo) que, si no
existen errores, devolverá un mensaje como BUILD SUCCESFULL. Los errores
que muestra el compilador son del tipo sintácticos, 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.
También 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 más 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 compilación termina satisfactoriamente pero hay que tener en
cuenta siempre lo que nos dicen estos para prevenir errores.
Terminada la compilación el MPLAB® nos genera un archivo de extensión .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.
Página 16
2.4 LDMICRO
LDmicro es un editor, simulador y compilador de lenguaje ladder para
microcontroladores de 8-bits. Puede generar código 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 conexión, a la desconexión)
Contadores (ascendentes, descendentes, ciclicos)
Entradas analógicas y salidas analógicas (PWM)
Variables enteras e instrucciones aritmeticas
Comunicación serial
Registros de desplazamiento
Acceso a memorias EEPROM
Los controladores lógicos programables (PLCs) son aparatos que fueron ideados
originalmente para reemplazar los sistemas de control basados en lógica
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 lógica nos
permite dibujar un circuito uniendo contactos y bobinas de relés 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 automatización, tanto a nivel industrial como hogareño.
Soporte.
El compilador genera archivos en formato Intel IHEX. La mayoría de los
programas dedicados a la carga de firmware en microcontroladores soportan este
formato. Además será necesario un hardware adecuado para cargar el archivo en
la memoria interna del microcontrolador a utilizar.
Figura 2.4 LDMICRO
Página 17
Los siguientes microcontroladores son soportados y fueron probados
exitosamente:
PIC16F877
PIC16F876
PIC16F628
ATmega64
ATmega128
Los siguientes microcontroladores son soportados pero aún no han sido probados.
Es posible que funcionen, pero no hay garantías:
PIC16F88
PIC16F819
ATmega162
ATmega32
Página 18
2.5 SERVOMOTORES Para la realización de este prototipo y en microrobots experimentales se utilizaron servomotores que son pequeños dispositivos utilizados tradicionalmente para radiocontrol. Su pequeño tamaño, bajo consumo, además de una buena robustez y notable precisión, los hacen ideales para cualquier construcción 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.
Página 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 máxima. Si el voltaje aplicado sus dos terminales es inverso, el sentido de giro también 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 posición del motor. Recibe los pulsos de entrada y ubica al motor en su nueva posición dependiendo de los pulsos recibidos.
Tiene además de los circuitos de control un potenciómetro conectado al eje central del motor. Este potenciómetro permite a la circuitería 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 dirección 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 varía según el fabricante.
Página 20
Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados. Un servo normal no es mecánicamente 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 alimentación del motor (4 a 8 voltios)
Terminal negativo: Referencia tierra del motor (0 voltios)
Entrada de señal: Recibe la señal de control del motor Los colores del cable de cada terminal varían con cada fabricante: el cable del terminal positivo siempre es rojo; el del terminal negativo puede ser marrón o negro; y el del terminal de entrada de señal suele ser de color blanco, naranja o amarillo
figura 2.5.2 terminales de un servomotor
Página 21
2.5.3 CONEXIÓN EXTERNA DE UN SERVOMOTOR
2.5.3.1 FUNCIONAMIENTO DEL SERVOMOTOR Control PWM La modulación por anchura de pulso, PWM (Pulse Width Modulation), es una de los sistemas más empleados para el control de servos. Este sistema consiste en generar una onda cuadrada en la que se varía el tiempo que el pulso está a nivel alto, manteniendo el mismo período (normalmente), con el objetivo de modificar la posición del servo según se desee. Para la generación de una onda PWM en un microcontrolador, lo más habitual es usar un timer y un comparador (interrupciones asociadas), de modo que el icrocontrolador quede libre para realizar otras tareas, y la generación de la señal. sea automática y más efectiva. El mecanismo consiste en programar el timer con el ancho del pulso (el período de la señal) y al comparador con el valor de duración del pulso a nivel alto. Cuando se produce una interrupción de overflow del timer, la subrutina de interrupción debe poner la señal PWM a nivel alto y cuando se produzca la interrupción del comparador, ésta debe poner la señal PWM a nivel bajo
Figura 2.5.3.1 onda PVM
El sistema de control de un servo se limita a indicar en que posición se debe situar. Esto se lleva a cabo mediante una serie de pulsos tal que la duración del pulso indica el ángulo de giro del motor. Cada servo tiene sus márgenes de operación, que se corresponden con el ancho del pulso máximo y mínimo que el servo entiende. Los valores más generales se corresponden con pulsos de entre 1 ms y 2 ms de anchura, que dejarían al motor en ambos extremos (0º y 180º). El valor 1.5 ms indicaría la posición 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, pudiéndose conseguir ángulos mayores de 180°. Si se sobrepasan los límites 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 potenciómetro y los límites mecánicos constructivos.
Página 22
Figura 2.5.3.2 potenciometro El período entre pulso y pulso (tiempo de OFF) no es crítico, 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 mínimo, puede interferir con la temporización interna del servo, causando un zumbido, y la vibración del eje de salida. Si es mayor que el máximo, entonces el servo pasará a estado dormido entre pulsos. Esto provoca que se mueva con intervalos pequeños. Es importante destacar que para que un servo se mantenga en la misma posición durante un cierto tiempo, es necesario enviarle continuamente el pulso correspondiente. De este modo, si existe alguna fuerza que le obligue a abandonar esta posición, intentará resistirse. Si se deja de enviar pulsos (o el intervalo entre pulsos es mayor que el máximo) entonces el servo perderá fuerza y dejará de intentar mantener su posición, de modo que cualquier fuerza externa podría desplazarlo. El motor del servo tiene algunos circuitos de control y un potenciómetro conectado al eje central del motor. Este potenciómetro permite a la circuitería 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 dirección 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 varía según el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados. Un servo normal no es mecánicamente capaz de retornar a su lugar, si hay un mayor peso que el sugerido por las especificaciones del fabricante.
Página 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 sólo una pequeña cantidad, el motor girará a menor velocidad. A esto se le denomina control proporcional.
Página 24
CAPITULO III: PLANEACIÓN Y ANÁLISIS DEL
PROYECTO
Página 25
3.1 PLANIFICACIÓN DEL PROYECTO
3.1.1 CALENDARIZACIÓN DE ACTIVIDADES Esquema básico donde se distribuye y organiza en forma de secuencia temporal. El conjunto de experiencias y actividades diseñadas a lo largo de un curso. La Organización temporal básicamente se organiza en torno a dos ejes: la duración de la asignatura y el tiempo que previsiblemente el estudiante dedicará al desarrollo de cada actividad.
Página 26
3.1.2 ANÁLISIS COSTO-BENEFICIO Un análisis costo-beneficio tiene como objetivo mostrar cuantitativamente la relación 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, etcétera.
Los beneficios se reflejan en la productividad, reducción de costos de operación, incrementos de la satisfacción de los empleados, mejorar el servicio al cliente, etcétera.
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
Página 27
3.1.3 ANÁLISIS DE FACTIBILIDAD Permitirá saber el costo de fabricación aproximado de cada brazo robótico y de cada plc permitiéndonos así saber si podría ser desarrollado e implementado de forma correcta y además 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 están de acuerdo con la implementación de este brazo robótico? Si, aunque ya esta diseñado estarían dispuestos a colaborar en este proyecto industrialmente para desarrollarlo a un grado mayor 2.- ¿Los usuarios han participado en la planeación 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 tecnologías nuevas que puedan sustentar los gastos del proyecto
Página 28
3.1.3.2 Estudio Técnico Entre los aspectos técnicos que se deben investigar durante el estudio de factibilidad, se incluyen los siguientes:
1. ¿Existe o se puede adquirir la tecnología necesaria para cubrir las demandas del nuevo proyecto?
2. Si se desarrolla el sistema ¿Puede crecer con facilidad?
3. ¿Exciten garantías técnicas de exactitud, confiabilidad, facilidad de acceso y seguridad de los datos?
4. Cualquier aspecto técnico no considerado puede ocasionar perdidas importantes de la empresa.
3.1.3.3 Estudio Económico Un sistema que puede desarrollarse desde el punto de vista técnico y que además se utilice, si se llega a instalar, debe de ser una buena inversión para la organización.
Los beneficios financieros deben igualar o superar a los costos que tiene
como propósito:
El costo de llevar a cabo la investigación completa del sistema.
El costo del hardware y software para la aplicación que se está considerando.
El costo si nada sucede, es decir, si el proyecto no se lleva a cabo.
Página 29
3.2 Especificación de requerimientos del proyecto SELECCIÓN DE SOFTWARE a) Tener MPLAB instalado b) Tener LD-MICRO instalado
Selección de Hardware a) Resolución 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 robótico finalizado g) PLC
Página 30
CAPITULO IV: DISEÑO Y DESARROLLO DEL
PROYECTO
Página 31
4 DISEÑO EXTERNO/INTERNO
El diseño de sistemas es la etapa del desarrollo donde se define cómo resolver el
problema usando un programa de computadora. La creatividad del diseñador
convierte a esta etapa en un arte.
El diseño consta de dos secciones básicas
Diseño externo
Diseño interno El diseño externo se refiere a la sección del programa que está expuesta y que será, de hecho, la manera en que el usuario conocerá al sistema. El diseño externo consiste de:
Diseño de salidas
Diseño de entradas
Diseño de interfaz de usuario
Diseño de base de datos El diseño interno se refiere a la sección que los programadores necesitarán para poder codificar el programa. El diseño interno consiste de:
Diseño de la estructura del sistema
Diseño de los algoritmos de los procesos
Figura 4 diseño externo e interno
El diseñador debe empezar con el diseño externo para verificar con el usuario el
cumplimiento de los requerimientos del sistema. Cuando el diseño externo ha sido
aprobado por el usuario, entonces comenzará a diseñar la parte interna del
sistema
Página 32
4.1 LISTA DE MATERIALES
Lista de materiales utilizados en la construcción de nuestro brazo robótico:
SERVOMOTORES
SINTRA PVC
MOTOR DC
HULE NEGRO
TORNILLOS
CABLE
PLACA FENÓLICA
Para la realización del prototipo se utilizo el microcontrolador PIC16F886 que, Como se menciono antes, este es el que actúa como cerebro del robot.
Figura 4.1 microcontrolador PIC16F886
Página 33
4.1.1 CARACTERÍSTICAS DE LOS MATERIALES
DATOS RELEVANTES
Figura 4.1.1 características 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 Comunicación Digital Periféricos 1-A/E/USART, 1-MSSP(SPI/I2C)
Captura / Comparación / PWM Periféricos 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
CARACTERÍSTICA PROPIEDAD
Página 34
INTRODUCCIÓN La electrónica ha evolucionado mucho. Casi todo lo que hasta hace unos años 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 más elegidos por Los hobbystas suelen ser los modelos de Microchip, en gran parte debido a la Excelente documentación 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 más cerca del hardware que del programador, y gracias a la miniaturización que permite incorporar cada vez más memoria dentro de un microcontrolador sin aumentar prácticamente su costo, han surgido compiladores de lenguajes de alto nivel. Entre ellos se encuentran varios dialectos BASIC y C. Lo más interesante de trabajar con microcontroladores es que se necesitan conocimientos tanto de electrónica (hardware) como de programación (software). Un microcontrolador es como un ordenador en pequeño: 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 analógico/digital, generadores de pulsos PWM para el control de motores, bus I2C, y muchas cosas más. Por supuesto, no tienen ni teclado ni monitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas LCD o LED para mostrar información. En general, por cada cuatro ciclos de reloj del microcontrolador se ejecuta una instrucción 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 alimentación 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” lógico) o en “estado bajo” (puesto a 0V o a un “0” lógico”). También 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.
Página 35
HOJAS TÉCNICAS
Página 36
Página 37
Página 38
Página 39
Página 40
Página 41
Página 42
Página 43
Página 44
Página 45
Página 46
Página 47
Página 48
Página 49
Página 50
Página 51
Página 52
Página 53
Página 54
Página 55
Página 56
Página 57
Página 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.
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_ON & _IESO_OFF &
_BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON &
_WDT_OFF & _INTRC_OSC_NOCLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
;***** VARIABLE DEFINITIONS (examples)
RESET_VECTOR CODE 0x0000 ; processor reset vector
nop
goto start ; go to beginning of program
INT_VECTOR CODE 0x0004 ; interrupt vector location
Página 59
MAIN_PROG CODE 0x05
cblock 0x20
v8
varp
dec
eva
lcom
rep
mini
endc
_800
movlw .159
movwf 0x20
et0
nop
nop
decfsz 0x20
goto et0
return
rvar
movfw varp
movwf dec
Página 60
et1
call paso
decfsz dec
goto et1
return
paso
nop
nop
nop
return
com
movlw .20
movwf lcom
et1.1
call _800
decfsz lcom
goto et1.1
return
seg
movlw .67
movwf 0x30
et11
Página 61
call com
decfsz 0x30
goto et11
return
_5
movlw .30
movwf 0x31
et12
call com
decfsz 0x31
goto et12
return
start
r equ .30
min equ .4
bsf 0x03,5
clrf 0x85
movlw 0xff
movwf 0x86
bsf 0x03,6
clrf 0x88
clrf 0x89
Página 62
clrf 0x03
;´´´´´´´´´´´´´´´´´´´
inicio
movlw r
movwf rep
r0
movlw .150
movwf varp
bsf 0x05,0
bsf 0x05,2
call rvar
bcf 0x05,0
bcf 0x05,2
call com
decfsz rep
goto r0
movlw r
movwf rep
movlw .150
movwf varp
Página 63
r1
movlw .135
movwf varp
bsf 0x05,1
call rvar
bcf 0x05,1
call com
decfsz rep
goto r1
call seg
movlw .150
movwf varp
r2
bsf 0x05,0
call rvar
bcf 0x05,0
call com
decfsz mini
goto r2
Página 64
decf varp
movlw min
movwf mini
;evaluacion
movfw varp
sublw .81
btfss 0x03,Z
goto r2
movlw .135
movwf varp
r3
bsf 0x05,1
call rvar
bcf 0x05,1
call com
decfsz mini
goto r3
decf varp
movlw min
movwf mini
;evaluacion
movfw varp
sublw .100
Página 65
btfss 0x03,Z
goto r3
call _5
movlw .150
movwf varp
r4
bsf 0x05,2
call rvar
bcf 0x05,2
call com
decfsz mini
goto r4
decf varp
movlw min
movwf mini
;evaluacion
movfw varp
sublw .100
btfss 0x03,Z
goto r4
call _5
Página 66
movlw .100
movwf varp
r5
bsf 0x05,1
call rvar
bcf 0x05,1
call com
decfsz mini
goto r5
incf varp
movlw min
movwf mini
;evaluacion
movfw varp
sublw .140
btfss 0x03,Z
goto r5
call _5
movlw .81
movwf varp
r6
bsf 0x05,0
Página 67
call rvar
bcf 0x05,0
call com
decfsz mini
goto r6
incf varp
movlw min
movwf mini
;evaluacion
movfw varp
sublw .210
btfss 0x03,Z
goto r6
call _5
movlw .140
movwf varp
r7
bsf 0x05,1
call rvar
bcf 0x05,1
call com
decfsz mini
Página 68
goto r7
decf varp
movlw min
movwf mini
;evaluacion
movfw varp
sublw .100
btfss 0x03,Z
goto r7
call _5
movlw .100
movwf varp
r8
bsf 0x05,2
call rvar
bcf 0x05,2
call com
decfsz mini
goto r8
incf varp
movlw min
movwf mini
;evaluacion
Página 69
movfw varp
sublw .170
btfss 0x03,Z
goto r8
call seg
goto inicio
END
Página 70
Capitulo V:
Implementación y
Mantenimiento del Proyecto
Página 71
5.1 Introducción a la Implementación
La “implementación” se refiere a programación. “Unidad” se refiere a la parte
más pequeña de la implementación a la que se dará mantenimiento por
separado y puede ser un método individual o una clase.
5.1.1 Metas de la Implementación
El propósito de la implementación es satisfacer los requerimientos de la
manera que especifica el diseño detallado. Aunque el diseño detallado debe
ser suficiente como documento contra el que se programa, es común 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 Implementación
Para llevar a cabo las actividades de implementación para el proyecto se
requiere implementar lo siguiente:
Implementar en partes
Usar diseño detallado Aplicar estándares de código Crear modelos de implementación
5.1.3 Proceso de la Implementación Para llevar a cabo el proceso de implementación del proyecto se pretende aplicar los siguientes pasos para definir las fases de implementación.
Definir estándares del código
Paquete de marco de trabajo
Paquete de aplicación
Implementación de Métodos Requerimientos Diseño detallado
¿seudocódigo?
¿diagramas de flujo?
Inspeccionar unidades
Realizar pruebas de unidades
Página 72
5.2 Pruebas de software
Las pruebas de software, en inglés testing son los procesos que permiten
verificar y revelar la calidad de un producto de software. Son utilizadas para
identificar posibles fallos de implementación, calidad o usabilidad de un
programa de ordenado o videojuego. Básicamente 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 Ingeniería de software. Así se ejecuta un programa y
mediante técnicas experimentales se trata de descubrir que errores tiene.
5.2.1 Tipos de Pruebas
Pruebas unitarias
Pruebas funcionales
Pruebas de integración
Pruebas de validación
Pruebas de sistemas
Caja blanca (sistemas)
Caja negra (sistemas)
Pruebas de aceptación
Para llevar a cabo el proceso de pruebas del proyecto, se aplicaron las
pruebas de funcionalidad, integración y validación del tutorial web:
Prueba de validación 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 válidos y no validos o erróneos.
Pruebas de integración se aplico con la finalidad de verificar a
progresión ordenada de pruebas que van desde los componentes o
módulos y que culminan en el sistema completo.
Para llevar a cabo las pruebas de integración se siguió el siguiente
orden:
Página 73
La forma de preparar casos
Las herramientas necesarias
El orden de codificar y probar los módulos
El coste de la depuración
El coste de preparación de casos
5.3 Mantenimiento del Proyecto
Es una de las actividades mas comunes en la ingeniería de software, es el
proceso de mejora y optimización del software después de su entrega al
usuario final, así como también la corrección y prevención de los defectos.
El mantenimiento es también 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 después del despliegue (implementación) del software en
el campo.
5.3.1 Introducción al mantenimiento de software
El mantenimiento de software de un producto consiste en las actividades
realizadas sobre la aplicación 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
desempeño o algún 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
Administración
Difícil definir el retorno sobre la inversión
Proceso
Se requiere una amplia coordinación para manejar el flujo de solicitudes
de mantenimiento
Técnica
Debe cubrirse todo el impacto de los cambios
Las pruebas son muy costosas en comparación con la utilidad de cada
cambio.
Las pruebas concretas son ideales pero costosas
Todavía se requieren las pruebas de regresión
Página 74
5.3.3 Proceso de Mantenimiento
Para seguir el proceso de mantenimiento del proyecto se aplico el siguiente
proceso aplicando los estándares establecidos para ello.
1. Diseñar el mantenimiento
1b. Asegurar la sustentabilidad
1c. Planear la transición al mantenimiento
1d. Planear la logística posterior a la entrega
2. Determinar el alcance del mantenimiento
¿todo tipo?
¿sólo correctivo?
¿correctivo limitado
3. Identificar quien da mantenimiento
¿Interno?
¿Contratado?
4. Desarrollar plan de mantenimiento
Cambiar procedimiento de aprobación de control
Apoyo técnico
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 aplicación, y para ello se aplican los tipos de mantenimiento:
Reparación
Página 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 Técnicas de Mantenimiento
Código de
sistema
Impacto Máximo
Diseño
detallado
Código de
función
Código de
Módulo
Arquitectura
Especificaciones
de interfaz
Defecto de requerimientos
insertado aquí
Página 76
Impacto Mínimo
Diseño
detallado
Código de función
Defecto insertado aquí
Código de
Módulo
Arquitectura
Especificaciones
de interfaz
Requerimientos
Código de
sistemas
Página 77
CONCLUSIONES
El desarrollo del presente brazo robótico, nos permito aplicar los conocimientos adquiridos
durante la Carrera de Técnico en Sistemas Digitales, ya que cada una de las Unidades de
Aprendizaje sirvieron para conformar los fases del proceso del proyecto.
Página 78
GLOSARIO DE TÉRMINOS
PLC-CIRCUITO LÓGICO PROGRAMABLE
Página 79
BIBLIOGRAFIA
1. Pressman Roger. Ingeniería de Software Un enfoque práctico. Editorial Mc Graw-Hill.
Séptima edición.
2. Braude J. Erik. Ingeniería de Software Una perspectiva orientada a objetos. Editorial
Alfaomega. Quinta edición.
3. Whitten Bentley. Análisis de Sistemas Diseño y Métodos. Editorial Mc Graw-Hill.
Séptima edición.
Página 80
ANEXOS
Página 81
ANEXO A: Manual de Usuario
top related