Sie sind auf Seite 1von 52

Materia: Teleprocesos

PROYECTO CONTROL DE BRAZO ROBTICO POR PUERTO

Pgina 1 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

PARALELO.

Por los alumnos:

ING. APOLINAR PINEDA ING. ELEAZAR BARRUETO ING. JESS GUTIRREZ ALVA ING. ROGELIO ALVARADO CASTRO

Pgina 2 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

CONTENIDO

1. ANTECEDENTE 2. PROPUESTA DE PROYECTO 3. REQUERIMIENTOS GENERALES 4. ALTERNATIVAS DE SOLUCIN 5. SELECCIN DE ALTERNATIVA 6. PLAN DE TRABAJO a. ANLISIS b. DISEO c. DESARROLLO d. PRUEBAS
Pgina 3 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

7. RESULTADOS 8. CONCLUSIONES 9. BIBLIOGRAFA

Pgina 4 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

1. ANTECEDENTE

Con el propsito de aplicar los conocimientos adquiridos en la materia de Teleprocesos de la Maestra en Sistemas Computacionales, se plantea la necesidad de entregar al final del curso un proyecto que permita la comunicacin de una computadora con un dispositivo externo, mismo deber ser analgico, lo que permita entender diversos conceptos como: el Modelo OSI, protocolos de comunicacin, manejo de puertos de entrada salida, trasmisin y recepcin de informacin, medios de comunicacin (par trenzado, redes inalmbricas), por mencionar algunos.

Por ello se abre la posibilidad de trabajar en temas como:

y Control de temperatura de dispositivo, similar al manejo de un termostato, si esta


fro calentarlo, si esta caliente enfriarlo.

y Control de un brazo robtico desde la computadora. y Simulador de un Modem, para el envo y recepcin de informacin entre dos
computadoras.

y O se acepta la propuesta de alguna idea en este sentido.

Para ello se debe integrar, un equipo de trabajo, quien debe definir la propuesta del proyecto.

Pgina 5 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Es conveniente mencionar que no existe restriccin alguna para el proyecto, en relacin con el software o hardware que se utilice.

Pgina 6 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

2. PROPUESTA DE PROYECTO

Los integrantes del equipo de trabajo, despus de haber investigado, analizado y debatido ideas en relacin con el tema para desarrollar el proyecto de la materia de Teleprocesos, se decide por llevar acabo las acciones necesarias para la implementacin del control del brazo robtico, desde la computadora.

La decisin se basa en que, es un tema de inters para el equipo de trabajo, que permitir estudiar diversos mbitos de la ingeniera como lo son, la plataforma de desarrollo java, visual basisc, c, las interfases de comunicacin USB, db25, db9 y como estas funcionan, la integracin de un circuito electrnico con, componentes como los pics, optoacopladores, buffers, compuertas logias, transistores, resistencias etc, as como el estudio de cmo opera un brazo robtico, temas de mucho inters para el equipo.

Pgina 7 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

3. REQUERIMIENTOS GENERALES

Para desarrollar el proyecto, el equipo define varias necesidades generales que debern ser satisfechas para la correcta implementacin del proyecto y stas son:

y Definir la plataforma de desarrollo (software), misma que debe facilitar la


manipulacin de seales digitales por un puerto de la PC, permitiendo crear una interfase para que el usuario pueda a voluntad manipular dicha informacin para controlar el brazo.

y Seleccin del puerto de comunicacin, el cual permitir el manejo de seales


para el control del brazo.

y Planear, disear y desarrollar un circuito que sirva de intermediario para el


control de las seales enviadas por la PC con la finalidad de manipula los componentes (motores), del brazo, facilitando su manejo.

y Finalmente, la eleccin del brazo a controlar, ya sea que se compre o se


construya.

Pgina 8 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

4. ALTERNATIVAS DE SOLUCIN

La limitante a que se enfrent el equipo de trabajo y que permiti definir al menos tres alternativas de solucin, ya sea por su complejidad de manejo o cantidad de informacin disponible para desarrollar el proyecto se encuentra acotada al puerto de comunicacin que la PC utiliza, por ello las alternativas de solucin son:

Alternativa 1: Control del brazo por puerto USB, USB (Universal Serial Bus), es una interfase plug&play entre la PC y ciertos dispositivos tales como teclados, mouses, scanner, impresoras, mdems, placas de sonido, camaras, etc). Una caracterstica importante es que permite a los dispositivos trabajar a velocidades mayores, en promedio a unos 12 Mbps, esto es ms o menos de 3 a 5 veces ms rpido que un dispositivo de puerto paralelo y de 20 a 40 veces ms rpido que un dispositivo de puerto serial. Cmo funciona?. Trabaja como interfaz para transmisin de datos y distribucin de energa, que ha sido introducida en el mercado de PC s y perifricos para mejorar las lentas interfaces serie (RS-232) y paralelo. Esta interfaz de 4 hilos, 12 Mbps y "plug and play", distribuye 5V para alimentacin, transmite datos y est siendo adoptada rpidamente por la industria informtica. Es un bus basado en el paso de un testigo, semejante a otros buses como los de las redes locales en anillo con paso de testigo y las redes FDDI. El controlador USB
Pgina 9 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

distribuye testigos por el bus. El dispositivo cuya direccin coincide con la que porta el testigo responde aceptando o enviando datos al controlador. Este tambin gestiona la distribucin de energa a los perifricos que lo requieran. Emplea una topologa de estrellas apiladas que permite el funcionamiento simultneo de 127 dispositivos a la vez. En la raz o vrtice de las capas, est el controlador anfitrin o host que controla todo el trfico que circula por el bus. Esta topologa permite a muchos dispositivos conectarse a un nico bus lgico sin que los dispositivos que se encuentran ms abajo en la pirmide sufran retardo. A diferencia de otras arquitecturas, USB no es un bus de almacenamiento y envo, de forma que no se produce retardo en el envo de un paquete de datos hacia capas inferiores. Como detalle sorprendente es que cada puerto utiliza una nica solicitud de interrupcin (IRQ) independientemente de los perifricos que tenga conectados (sea 1 127) por lo tanto no hay riesgo de conflictos entre una cantidad de dispositivos que de otra forma no podran ser conectados por falta de recursos; de la misma manera tampoco utilizan DMA (asignacin de memoria). El sistema de bus serie universal USB consta de tres componentes:

y Controlador. y Hubs o Concentradores. y Perifricos.

Ventajas:

y Es un puerto muy utilizado en la actualidad y Prcticamente todas las computadoras modernas tiene instalados varios de
estos

y Cada uno de los perifricos que se conecten al puerto utilizan una nica IRQ
Pgina 10 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

y Amplio catlogo en el manejo de perifricos modernos: ratones, teclados,


escneres, cmaras fotogrficas, capturadotas TV, monitores, discos duros, otro PC, etc Se puede conectar en caliente, es decir con el perifrico y el ordenador encendido El perifrico puede alimentarse de energa de este puerto, por lo que si no gasta mucho, no necesita fuente de alimentacin extra. Se necesitan menos componentes, por ello los perifricos son ms baratos. Facilita la compatibilidad entre Mac y PC. por puerto) que por otros medios sera imposible por las limitaciones de IRQs.

y y

y y y Podemos conectar un gran nmero de perifricos a un slo PC (en teora 127

Desventajas:

y El desconocimiento por parte del equipo, en el uso y manejo de este puerto y Presenta algunos problemas de compatibilidad con versiones antiguas de y
Windows, Los cables USB para conectar dos equipos pueden dar problemas en algunos linux o en ciertos Windows, siempre ser mejor dos tarjetas de red y un cable cruzado adecuado. muchos perifricos USB no necesitan un rectificador para alimentarse, pero debemos recordar que la energa tiene que salir de algn sitio, que no es otro que nuestra fuente de alimentacin que debe tener cierta potencia para no tener problemas al cargar demasiado el equipo con muchos perifricos de este tipo. obsoletos nuestros perifricos en un periodo de tiempo demasiado corto

y Aparicin de otros sistemas con el USB 2.0 o el Firewire que podran dejar

Pgina 11 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Conclusiones:

y Es ms til para unos perifricos que para otros. y Suele ser la solucin ms cmoda pero no siempre la ms adecuada (sobre y y
todo mdems). El USB es el futuro pero en el tambin tienen que escucharse a los usuarios, o ser un futuro muy corto. Es muy interesante que un ordenador tenga USB como complemento a los puertos tradicionales pero no como sustituto ni imposicin de los fabricantes. De hecho mejor que traiga al menos 5 porque pronto nos quedaremos cortos con 2. existiendo puertos USB, serie, paralelo, etc. Ejemplo de estas imposiciones son los equipos con un nico puerto serie que pierden mucha seriedad. La aparicin de equipos sin puerto serie sobre todo porttiles, es el primer paso para los WinPCs, o sea, equipos muy limitados, de bajsima calidad y demasiado enfocados a determinados sistemas operativos. Otro ejemplo de imposicin es la gran dificultad de encontrar un escner SCSI primero y su incompatibilidad con los ltimos Pentium IV y Athlon XP o que las impresoras de verdad con su puerto paralelo ya sean especie en extincin. USB o le pasar como al SCSI, del que por cierto es heredero, que quede relegado por puertos USB ms rpidos como al SCSI le ocurri con las nuevas controladoras IDE. El tiempo y las polticas comerciales lo dirn. Alternativa 2: Control del brazo por puerto Serial o RS-232 Un puerto serie o puerto serial (tambin llamados RS-232, por el nombre del estndar al que hacen referencia) es una interfaz de comunicaciones de datos digitales, frecuentemente utilizado por computadoras y perifricos, donde la informacin es transmitida bit a bit enviando un solo bit a la vez, en contraste con el puerto paralelo que enva varios bits simultneamente.
Pgina 12 de 52

y Lo mismo se puede decir de los puertos Firewire IEEE 1394, deben seguir y

y Al Firewire no le veo muy claro el futuro, no se si terminar imponindose sobre el

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Ventajas:

y Maneja menos cantidad de cables y Fcil implementacin

Desventajas:

Maneja bit por bit, esto dependiendo de la finalidad para la que se quiere puede no ser bueno

y Maneja los bits de manera serial, esto implica el diseo de un circuito mucho
ms complejo, para controlar el brazo.

y En algunas ocasiones configurar el puerto serial puede requerir mucho mas


conocimiento en el uso de sus comandos pues son un poco mas complejos

y Se tiene un menor control de cada bit, pues se debe disear un circuito para
almacenarlo de ser necesario

Alternativa 3: Control del brazo por puerto Paralelo o DB25

Este puerto de E/S enva datos en formato paralelo (donde 8 bits de datos, forman un byte, y se envan simultneamente sobre ocho lneas individuales en un solo cable.) El puerto paralelo usa un conector tipo D-25 (es de 25 pin) El puerto paralelo se utiliza principalmente para impresoras.

Pgina 13 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

La mayora de los software usan el termino LPT (impresor en lnea) ms un nmero para designar un puerto paralelo (por ejemplo, LPT1). Un ejemplo donde se utiliza la designacin del puerto es el procedimiento de instalacin de software donde se incluye un paso en que se identifica el puerto al cual se conecta a una impresora. Forma:

y Es un conector de tipo hembra; los conectores hembras disponen de uno o ms


receptculos diseados para alojar las clavijas del conector macho.

y Mide 38mm de longitud en ambos extremos, de largo y de alto 5mm. y Tiene forma de rectangular. y Contiene 25 pines.
Caractersticas Generales:

y Este puerto utiliza un conector hembra DB25 en la computadora y un conector


especial macho llamado Centronic que tiene 36 pines.

y Es posible conectar el DB25 de 25 pines al Centronic de 36 pines ya que cerca


de la mitad de los pines del centronic van a tierra y no se conectan con el DB25.

y Desde el punto de vista del software, el puerto paralelo son tres registros de 8
bits cada uno, ocupando tres direcciones de I/O consecutivas de la arquitectura X86.

y Desde el punto de vista Hardware, el puerto es un conector hembra DB25 con


doce salidas latcheadas (que tienen memoria /buffer intermedio) y cinco entradas, con 8 lneas de masa.

y La tensin de trabajo del puerto es de 5 voltios, por lo que necesitamos una


fuente estabilizada o regulada de tensin.

y Las 12 salidas TTL (0-5v) usan latches internos y pueden programarse va


instrucciones IN/OUT del CPU.
Pgina 14 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

y Las 5 entradas son "Steady-State Input points" y pueden programarse va


instrucciones IN/OUT del CPU.

y Las 3 direcciones del puerto (DATA, STATUS, CONTROL) inician comnmente en


la 37H (otras direcciones comunes son la 278H y 378BCH).

y Una de las lneas de entrada es adems una interrupcin (que puede habilitarse
va programa) adems hay una lnea tipo "Power-on Reset". Ubicacin en el sistema informtico: Se encuentra en la parte trasera del case, se pueden identificar fcilmente ya que la mayora de los software utilizan el termino LPT (que significa impresin en lnea por sus siglas en ingls). Tambin en algunos modelos se pueden localizar en la parte inferior al puerto del Mouse. Recursos del puerto paralelo: Cada adaptador de puerto paralelo tienes tres direcciones sucesivas que se corresponden con otros tantos registros que sirven para controlar el dispositivo. Son el registro de salida de datos; el registro de estado y el registro de control. El puerto paralelo est formado por 17 lneas de seales y 8 lneas de tierra. Las lneas de seales estn formadas por grupos:

y 4 Lneas de control. y 5 Lneas de estado. y 8 Lneas de datos.


En el diseo original las lneas de control son usadas para la interfase, control e intercambio de mensajes al PC (falta papel, impresora ocupada, error en la impresora). Las lneas de datos suministran los datos de impresora del PC hacia la impresora y solamente en esa direccin. Las nuevas implementaciones del puerto permiten una comunicacin bidireccional mediante estas lneas.

Pgina 15 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Ventajas:

y Existe mucha informacin en el manejo y uso de este puerto y Maneja los bits en paralelo y C, maneja de manera muy sencilla este puerto y
Ofrece un mejor control de los bits, incluso permanecen activos en el puerto mientras se necesiten

y Permite un diseo mas fcil de un circuito para interactuar con el brazo y Existe mucha informacin disponible en los libros y es de facil comprensin y Los integrantes del equipo cuentan con conocimiento en el manejo de este
puerto

Desventajas:

y Se debe tener mucho cuidado al manejar las seales pues es posible quemar el
puerto con facilidad, por ello el circuito debe contar con alguna manera de protegerlo

y Ya casi no hay equipos nuevos que manejen este tipo de puerto

Pgina 16 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

5. SELECCIN DE ALTERNATIVA

Cabe destacar que, el equipo de trabajo selecciona la alternativa 3, principalmente por las ventajas que su funcionalidad representa, la familiaridad con respecto a su manejo y la tcnica que emplea para el control de las seales bits del puerto paralelo, as mismo se decide utilizar como software de desarrollo, el lenguaje de programacin C, pues ha sido el ms utilizado histricamente para este tipo de proyectos, de tal suerte que cuenta con mucha informacin en el manejo de los diferentes puertos de comunicacin que tiene una computadora.

Pgina 17 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

6. PLAN DE TRABAJO

Para la implementacin del proyecto se plantea llevar acabo las siguientes acciones: anlisis, diseo, desarrollo, pruebas

a. ANLISIS.
El software de desarrollo, a emplear es Visual C#, que para accesar al puerto paralelo en Windows, requiere hacer uso de unas funciones que vienen en la librera inpout32.dll, adems es necesario laceracin de una interfase que permita controlar los 5 motores, por ello se plantea que de los 8 bits que maneja el puerto paralelo, 2 de ellos sirvan como interruptores generales de 5 de los restantes, permitiendo la programacin con un bit los giros a la derecha y con otro los giros a la izquierda. As mismo como requerimiento adicional se necesita llegar a programar una secuencia de movimientos que permitan que el brazo salte un obstculo invisible, partiendo de un estado inicial particular y regresar a este cuando concluya la programacin. Se emplea el puerto paralelo de una PC el cual es ideal para ser usado como herramienta de control de motores, rels, LED's, etc. El mismo posee un bus de datos de 8 bits (Pin 2 a 9) y muchas seales de control, algunas de salida y otras de entrada que tambin pueden ser usadas fcilmente. Las PC's generalmente poseen slo uno de estos puertos (LPT1). Por lo general la direccin hexadecimal del puerto LPT1 es igual a 0x378 (888 en decimal) y 0x278 (632 en decimal) para el LPT2. Esto se puede verificar fcilmente en el setup de la PC o bien en el cartel que generalmente la PC muestra en el momento del booteo. Puede darse el caso que el LPT1 asuma la direccin 0x3BC (956 en decimal) y
Pgina 18 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

el LPT2 0x378, en ese caso habr que tratar de corregir el setup y/o los jumper de las tarjetas en caso que sea posible. El puerto paralelo de un PC posee un conector de salida del tipo DB25 hembra cuyo diagrama y seales utilizadas podemos ver en la siguiente figura:

Imagen del diagrama de un puerto paralelo

Si deseamos mandar un dato al bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente en la direccin hexadecimal 0X378 (888 en decimal) cuando trabajamos con el LPT1 y 0x278 (632 en decimal) cuando trabajamos con el LPT2. Los distintos pins (bits) de salida correspondientes al bus de datos no pueden ser escritos en forma independiente, por lo que siempre que se desee modificar uno se debern escribir los ocho bits nuevamente. Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la direccin hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1 o bien leer la direccin 0x279 (633 en decimal) si trabajamos con el LPT2. La lectura ser devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15 En relacin con el circuito, se plantea la necesidad de utilizar optoacopladores por permitir la separacin fsica de las seales emitidas por el puerto paralelo y el manejo de potencia del otro lado para el control de los motores del brazo,
Pgina 19 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Imagen del diagrama interno de un Optoacoplador

Al mismo tiempo para garantizar el movimiento hacia ambos lados del motor, se utilizaran puentes H, mediante el empleo de transistores NPN

Imagen del diagrama de un Puente H

Para los fines del denominado Brazo Robtico, se emplear el modelo K-680 de la empresa Steren, el cual cuenta con las siguientes especificaciones tcnicas:
Pgina 20 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

y Sostener objetos ligeros, de hasta 100 gr., y Abertura mxima de la tenaza: 1,77 pulgadas y Movimiento vertical de la tenaza: 120 y Movimiento vertical de la parte superior del brazo: 120 y Movimiento vertical de la parte inferior del brazo: 180 y Movimiento horizontal de la base del brazo: 270 y Alimentacin: 6 Vcc (4 pilas tipo D)

Imagen del Brazo Robtico modelo K-680

Tiene 5 motores que permiten los siguientes movimientos:

y Motor 1, hasta 270 grados de todo el cuerpo, hacia la izquierda y derecha y Motor 2 de 0 a 180 gradados sobre la horizontal de todo el cuerpo Pgina 21 de 52
Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

y Motor 3 articulacin que permite mover hasta 300 grados, primera porcin del
cuerpo

y Motor 4 que permite hasta 120 grados para la parte que sostiene las tenazas o
pinzas

y Motor 5 abre y cierra las tenaza

Imagen de los movimientos del brazo K-680

Para mayor informacin en relacin con las especificaciones tcnicas del brazo robtico, consultar la siguiente direccin:

http://www2.steren.com.mx/doctosMX//K-682-instr.pdf
Pgina 22 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

b. DISEO

Como ya se mencion anteriormente, el diseo de la solucin se integra de la siguiente manera: En relacin con el programa a desarrollar se plantea el siguiente funcionamiento general:

Inicio Incluir todas las libreras necesarias Inicializar todos los parmetros Disponer una interfaz con la opcin de seleccionar con el puntero del ratn Esperar que alguno de los botones sea tocado Enviar seal al puerto paralelo Fin

Para el caso de la programacin de los movimientos predefinidos del brazo:

Inicio Incluir todas las libreras necesarias Inicializar todos los parmetros
Pgina 23 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Disponer una interfaz con la opcin de seleccionar con el puntero del ratn Esperar que el botn programa sea tocado Iniciar secuencia de movimientos y enviarlas al puerto paralelo Fin

Para el puerto y El circuito, se integra la siguiente propuesta:

Imagen del diagrama del circuito propuesto

c. DESARROLLO

A continuacin se integra el cdigo en Visual C#, de la aplicacin desarrollada, para el control del brazo
Pgina 24 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Nota: para que funcione correctamente se debe contar con la versin 4 de Netframewok y la librera inpout32.dll

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; using Puerto_paralelo.Properties;

namespace Puerto_paralelo { public partial class Form1 : Form { public int i = 0, j = 0, adress = 888; public int D7, D6, D5, D4, D3, D2, D1, D0; public Form1() { InitializeComponent();

Pgina 25 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Reset_LEDs(); } private void Reset_LEDs() // Resetea los Led . { try { Puerto_paralelo.PortInterop.Output(adress, 0); Puerto_paralelo.PortInterop.Input(adress); } catch (DllNotFoundException) { Alerta_1(); } pictureBox_D0.Image = Resources.off; // luz apagada de la imagen. pictureBox_D1.Image = Resources.off; pictureBox_D2.Image = Resources.off; pictureBox_D3.Image = Resources.off; pictureBox_D4.Image = Resources.off; pictureBox_D5.Image = Resources.off; pictureBox_D6.Image = Resources.off; pictureBox_D7.Image = Resources.off; }

static void Alerta_1()

Pgina 26 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

{ MessageBox.Show(@"No escuentra inpoput32.dll. Asegrate que la dll 'inpout32.dll' est al lado del ejecutable principal. La reinstalacin puede resolver el problema.", "Aviso:", MessageBoxButtons.OK, MessageBoxIcon.Stop); }

#region Opciones. public void opciones() { int value = 0;

if (D0 == 1) { value += (int)Math.Pow(2, 0); LoadNewPict_D0(); } else LoadOldPict_D0(); value += 0;

if (D1 == 1) { value += (int)Math.Pow(2, 1);

Pgina 27 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

LoadNewPict_D1(); } else LoadOldPict_D1(); value += 0;

if (D2 == 1) { value += (int)Math.Pow(2, 2); LoadNewPict_D2(); } else LoadOldPict_D2(); value += 0;

if (D3 == 1) { value += (int)Math.Pow(2, 3); LoadNewPict_D3(); } else LoadOldPict_D3(); value += 0;

Pgina 28 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

if (D4 == 1) { value += (int)Math.Pow(2, 4); LoadNewPict_D4(); } else LoadOldPict_D4(); value += 0;

if (D5 == 1) { value += (int)Math.Pow(2, 5); LoadNewPict_D5(); } else LoadOldPict_D5(); value += 0;

if (D6 == 1) { value += (int)Math.Pow(2, 6); LoadNewPict_D6(); } else

Pgina 29 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

LoadOldPict_D6(); value += 0;

if (D7 == 1) { value += (int)Math.Pow(2, 7); LoadNewPict_D7(); } else LoadOldPict_D7(); value += 0; try { Puerto_paralelo.PortInterop.Output(adress, value); } catch (DllNotFoundException) { Alerta_1(); }

#endregion

Pgina 30 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

#region Cargando los Led de la imagen.

private void LoadNewPict_D0() { pictureBox_D0.Image = Resources.on; }

private void LoadNewPict_D1() { pictureBox_D1.Image = Resources.on; }

private void LoadNewPict_D2() { pictureBox_D2.Image = Resources.on; }

private void LoadNewPict_D3() { pictureBox_D3.Image = Resources.on; }

private void LoadNewPict_D4()

Pgina 31 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

{ pictureBox_D4.Image = Resources.on; }

private void LoadNewPict_D5() { pictureBox_D5.Image = Resources.on; }

private void LoadNewPict_D6() { pictureBox_D6.Image = Resources.on; }

private void LoadNewPict_D7() { pictureBox_D7.Image = Resources.on; }

private void LoadOldPict_D0() { pictureBox_D0.Image = Resources.off;

Pgina 32 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

private void LoadOldPict_D1() { pictureBox_D1.Image = Resources.off; }

private void LoadOldPict_D2() { pictureBox_D2.Image = Resources.off; }

private void LoadOldPict_D3() { pictureBox_D3.Image = Resources.off; }

private void LoadOldPict_D4() { pictureBox_D4.Image = Resources.off; }

private void LoadOldPict_D5()

Pgina 33 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

{ pictureBox_D5.Image = Resources.off; }

private void LoadOldPict_D6() { pictureBox_D6.Image = Resources.off; }

private void LoadOldPict_D7() { pictureBox_D7.Image = Resources.off; }

#endregion

#region Botones de control. private void button_D0_ON_Click(object sender, EventArgs e) { D0 = 1; opciones(); }

Pgina 34 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

private void button_D0_OFF_Click(object sender, EventArgs e) { D0 = 0; opciones(); }

private void button_D1_ON_Click(object sender, EventArgs e) { D1 = 1; opciones(); }

private void button_D1_OFF_Click(object sender, EventArgs e) { D1 = 0; opciones(); }

private void button_D2_ON_Click(object sender, EventArgs e) { D2 = 1; opciones(); }

Pgina 35 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

private void button_D2_OFF_Click(object sender, EventArgs e) { D2 = 0; opciones(); }

private void button_D3_ON_Click(object sender, EventArgs e) { D3 = 1; opciones(); }

private void button_D3_OFF_Click(object sender, EventArgs e) { D3 = 0; opciones(); }

private void button_D4_ON_Click(object sender, EventArgs e) { D4 = 1; opciones(); }

Pgina 36 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

private void button_D4_OFF_Click(object sender, EventArgs e) { D4 = 0; opciones(); }

private void button_D5_ON_Click(object sender, EventArgs e) { D5 = 1; opciones(); }

private void button_D5_OFF_Click(object sender, EventArgs e) { D5 = 0; opciones(); }

private void button_D6_ON_Click(object sender, EventArgs e) { D6 = 1; if (D7 == 1) { // Si el diodo 6 esta encendido el 7 no encendera MessageBox.Show(@".... eRROR el diodo 7 esta prendido ", "Aviso:",

Pgina 37 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

MessageBoxButtons.OK, MessageBoxIcon.Stop); } else { opciones(); } }

private void button_D6_OFF_Click(object sender, EventArgs e) { D6 = 0;

opciones(); Reset_LEDs(); D7 = 0; D6 = 0; D5 = 0; D4 = 0; D3 = 0; D2 = 0; D1 = 0; D0 = 0; }

Pgina 38 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

private void button_D7_ON_Click(object sender, EventArgs e) { D7 = 1; if (D6 == 1) { // Si el diodo 7 esta encendido el 6 no encendera MessageBox.Show(@".... eRROR el diodo 6 esta prendido ", "Aviso:", MessageBoxButtons.OK, MessageBoxIcon.Stop); } else

{ opciones(); } }

private void button_D7_OFF_Click(object sender, EventArgs e) { D7 = 0; opciones(); Reset_LEDs(); D7 = 0; D6 = 0; D5 = 0; D4 = 0; D3 = 0;

Pgina 39 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

D2 = 0; D1 = 0; D0 = 0; } #endregion

private void button_Address_Click(object sender, EventArgs e) { if (textBox_port_adress.Text == "378") { adress = 888; } else { adress = 632; } }

private void button_Enviar_Click(object sender, EventArgs e) { try { Puerto_paralelo.PortInterop.Output(adress, Int32.Parse(textBox_byte.Text)); }

Pgina 40 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

catch (DllNotFoundException) { Alerta_1(); } }

private void button_Reset_Leds_Click(object sender, EventArgs e) { j = 0; i = 0; Reset_LEDs(); D7 = 0; D6 = 0; D5 = 0; D4 = 0; D3 = 0; D2 = 0; D1 = 0; D0 = 0; }

private void timer1_Tick(object sender, EventArgs e) { statusStrip1.Items[0].Text = DateTime.Now.ToLongTimeString(); // Hora. statusStrip1.Items[1].Text = DateTime.Now.ToLongDateString(); // Fecha.

Pgina 41 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

private void qq(int tiempo) { Thread.Sleep(tiempo); //DURANTE -tiempo- SEGUNDOS this.Refresh(); }

// control automatico de movimientos private void button1_Click(object sender, EventArgs e) { j = 0; i = 0; Reset_LEDs(); D7 = 0; D6 = 0; D5 = 0; D4 = 0; D3 = 0; D2 = 0; D1 = 0; D0 = 0; //inicio

D6 = 1; // Para ARRIBA

Pgina 42 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

D1 = 1; // ACTIVO motor 2 opciones(); qq(5000); //DURANTE 1 SEGUNDOS D1 = 0; // paro motor 2 D6 = 0; opciones(); D7 = 1; // Para ARRIBA D4 = 1; // ACTIVO motor 2 opciones(); qq(5000); //DURANTE 1 SEGUNDOS D4 = 0; // paro motor 2 D7 = 0; opciones(); D6 = 1; // Para ARRIBA D5 = 1; // ACTIVO motor 2 opciones(); qq(5000); //DURANTE 1 SEGUNDOS D5 = 0; // paro motor 2 D6 = 0; opciones(); D6 = 1; // Para ARRIBA D5 = 1; // ACTIVO motor 2 D4 = 1; // paro motor 2 opciones(); qq(5000); //DURANTE 1 SEGUNDOS

Pgina 43 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

D5 = 0; D4 = 0; D6 = 0; opciones(); D7 = 1; // Para ARRIBA D1 = 1; // ACTIVO motor 2 opciones(); qq(5000); //DURANTE 1 SEGUNDOS D1 = 0; // paro motor 2 D7 = 0; opciones(); D6 = 1; // Para ARRIBA D5 = 1; // ACTIVO motor 2 D4 = 1; // paro motor 2 D1 = 1; // paro motor 2 opciones(); qq(5000); //DURANTE 1 SEGUNDOS D1 = 0; // paro motor 2 D5 = 0; D4 = 0; D6 = 0; opciones(); D7 = 1; // Para ARRIBA D2 = 1; // ACTIVO motor 2 opciones();

Pgina 44 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

qq(3000); //DURANTE 1 SEGUNDOS D2 = 0; // paro motor 2 D7 = 0; opciones(); D7 = 1; // a la IZQ D2 = 1; // ACTIVO motor 5 opciones(); qq(3000); //DURANTE 1 SEGUNDOS D2 = 0; // paro motor 5 D3 = 1; // ACTIVO motor 4 opciones(); qq(2000); //DURANTE 2 SEGUNDOS D3 = 0; // paro motor 4 D2 = 1; // ACTIVO motor 1 opciones(); qq(3000); D2 = 0; // paro motor 2 D5 = 1; // ACTIVO motor 1 opciones(); qq(3000);//DURANTE 3 SEGUNDOS

//cambio de fase DERECHA D7 = 0; D6 = 1;

Pgina 45 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

D5 = 0; // paro motor 2 D2 = 1; // ACTIVO motor 2 opciones(); qq(3000);//DURANTE 3 SEGUNDOS D2 = 0; // paro motor 2 D4 = 1; // ACTIVO motor 4 opciones(); qq(3000);//DURANTE 3 SEGUNDOS // finalizar D6 = 0; D4 = 0; // pa.ro motor 2 opciones();

} }

La siguiente es la imagen de la interfase con la que interacta el sistema con el usuario para controlar individualmente o de manera programada los movimientos del brazo.
Pgina 46 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

Imagen de la interfaz de control para el Brazo Robtico modelo K-680

Pgina 47 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

d. PRUEBAS

La etapa de pruebas, permiti verificar que la solucin (proyecto), cumpliera con los requerimientos definidos en la planeacin, por ello, se establecieron las siguientes interrogantes fundamentales que se deberan cumplir:

y El aplicativo es capaz de identificar y controlar el envo de seales bits a travs


del puerto paralelo

y El aplicativo desarrollado cuanta con una interfaz que maneje individualmente


el control de los diferentes movimiento del brazo, y una opcin de movimientos previamente programados

y El circuito diseado es capaz de recibir y guiar los impulsos elctricos hasta el


motor correcto, como lo indica la interfaz del usuario

y La solucin controla los movimientos del brazo, desde la computadora a travs


del puerto paralelo

Durante las pruebas todas las respuestas fueron afirmativas, por lo que se concluy que el proyecto se encuentra terminado y listo para su operacin.

Pgina 48 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

7. RESULTADOS.

En relacin con los resultados previstos desde la definicin de requerimientos, estos se apegaron a lo establecido, obtenindose los siguientes:

El software fue capaz de comunicarse a travs del puerto paralelo y ste a su vez con ayuda de la librera inpout32.dll, con el circuito, el cual mediante sus diferentes componentes realiz la activacion-desactivacion de cada uno de los motores del brazo, lo que permiti alcanzar el objetivo del proyecto.

Mediante la programacin fue posible, establecer una secuencia de movimientos al brazo, lo que permiti comprender las actividades que se deben realizar para establecer, de ser necesario, un ciclo sin fin que permita realizar movimientos para actividades rutinarias de un proceso mecnico en alguna organizacin.

Pgina 49 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

8. CONCLUSIONES

En lo general, con la implementacin de este proyecto fue posible estudiar, entender, manipular, probar, ajustar, al menos, cuatro componentes fundamentales como los son:

y Plataforma de desarrollo y las libreras que se necesitan y Manejo del puerto paralelo y Circuito electrnico y y Brazo robtico

Donde cada uno de stos es un tema, de suma importancia que requiere de la lectura de mucha informacin para su manejo.

En relacin con el proyecto, podemos comentar que el objetivo se cumpli, pues fue posible que, mediante una interfaz grafica se tomara el controlar los movimientos del brazo, e incluso se le pudo programar una secuencia de movimientos.

Pgina 50 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

9. BIBLIOGRAFA

Analisis de redes y sistema de comunicaciones, Dr. Xavier HesselBach, Serra Jordi Altes Boscsh, edicion UPC 2002, Barcelona Espaa.

Electrnica De Comunicaciones Dr. Manuel Sierra Prez, Madrid Espaa 1994. Ed. Mc Grauw Hill

Seales Y Sistemas, Simon Haykin, ed. Limusa, Edicion para Mxico 1998.

Comunicaciones I, Herrera, Ed. Limusa, Mxico D.F. 1999.

http://www.monografias.com/trabajos13/fire/fire.shtml

http://www.misrespuestas.com/que-es-un-puerto-serial.html

http://www.i-micro.com/pdf/articulos/rs-485.pdf

http://html.rincondelvago.com/puertos-y-conectores.html

Pgina 51 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Materia: Teleprocesos

http://www2.steren.com.mx/doctosMX//K-682-instr.pdf

Pgina 52 de 52

Maestra en Sistemas Computacionales Toluca Mxico. Agosto de 2011 ISIMA

Das könnte Ihnen auch gefallen