• No se han encontrado resultados

BRAZO ROBÓTICO CONTROLADO POR PLC

N/A
N/A
Protected

Academic year: 2021

Share "BRAZO ROBÓTICO CONTROLADO POR PLC"

Copied!
81
0
0

Texto completo

(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

(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

(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

(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

(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.

(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.

(7)

CAPÍTULO I:

MARCO DE REFERENCIA

(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

(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.

(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

(11)

CAPÍTULO II:

MARCO TEÓRICO

(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.

(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>”

(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>

(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.

(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.

(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

(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

(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.

(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

(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.

(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.

(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.

(24)

CAPITULO III:

PLANEACIÓN Y ANÁLISIS DEL

PROYECTO

(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.

(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

(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

(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.

(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

(30)

CAPITULO IV:

DISEÑO Y DESARROLLO DEL

PROYECTO

(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

(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.

(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

(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.

(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(55)
(56)
(57)
(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(69)

movfw varp sublw .170 btfss 0x03,Z goto r8 call seg goto inicio END

(70)

Capitulo V:

Implementación y

(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

(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.

(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

(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

(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í

(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

(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.

(78)

GLOSARIO DE TÉRMINOS

(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.

(80)
(81)

Referencias

Documento similar

El fin de este proyecto es el montaje, programación y puesta en marcha de un sistema de visión artificial coordinado con un brazo robótico, para la realización de manipulación

Fundación Ramón Menéndez Pidal / Universidad Autónoma de Madrid... Fundación Ramón Menéndez Pidal / Universidad Autónoma

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

En un congrés, convé disposar d’un pla o full de ruta per tal de garantir la igualtat d’accés de totes les persones, tant ponents com participants.. Comunicació : Tant si el

En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,

Al no observar una significante relación con el valor de p=0,165 (p&gt;0,05) y correlación muy baja de r=0,071, se considera que no existe relación significativa entre

Para el desarrollo de este trabajo se realizó la adaptación de distintos elementos al sistema MDF En la figura 1, se muestra el diseño realizado para la adaptación del

donde un robot se valga de la información obtenida de su entorno por medio de un sistema de visión, para realizar tareas que puedan variar con un simple juego de