titulo de la tesis: robot cartesiano xyz

93
TITULO DE LA TESIS: ROBOT CARTESIANO XYZ TESIS QUE PARA OBTENER EL TITULO DE INGENIERO EN ROBOTICA INDUSTRIAL PRESENTA LOS CC. FRANCISCO RODRIGUEZ LARA GUILLERMO OLIVARES ZARAGOZA

Upload: others

Post on 20-Nov-2021

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

TITULO DE LA TESIS:

ROBOT CARTESIANO XYZ

TESIS QUE PARA OBTENER EL TITULO DE

INGENIERO EN ROBOTICA INDUSTRIAL

PRESENTA

LOS CC. FRANCISCO RODRIGUEZ LARA

GUILLERMO OLIVARES ZARAGOZA

Page 2: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

AGRADECIMIENTOS A mis padres Sobre todo por su ejemplo. Por que me enseñaron con bases firmes, paciencia, cariño el camino para llegar asta aquí. Por que siempre me procuraron salud y estabilidad. Por que me enseñaron lo que necesitaba y lo que no. Y este logro y esfuerzo no solo es mío si no también de ellos. A mi hermano Por su compañía en las etapas más difíciles en que vivimos juntos y también por los buenos momentos. Agradezco su preocupación por mí desde mi infancia asta la actualidad. Agradezco su amistad la cual nos ha llevado a la ayuda mutua y el consejo de confianza. A la Institución Dicen que el segundo lugar donde uno se forma es la es escuela, en mi caso esta no es la excepción. Agradezco a los catedráticos que con sus palabras me inspiraron y encaminaron. Que con sus enseñanzas me dieron la seguridad que estaba en el camino correcto. A todos aquellos que pusieron cariño a su trabajo y sus palabras por que fueron de los que mejor aprendí.

A los demás También en esta parte debo incluir a toda esa gente que a lo largo de este camino me acompaño y apoyo: a mis amigos, a mis compañeros de escuela, primos, tíos, profesores de otras instituciones y demás gente que me tendió la mano me aconsejo y ayudo, por que lo que soy es también gracias a ellos.

Y quiero concluir nuevamente agradeciendo a la gente mencionada en estos párrafos prometiéndoles que lo aprendí, logre y lograre a futuro lo usare con responsabilidad y para el bien de la sociedad.

Francisco Rodríguez Lara

Page 3: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

AGRADECIMIENTOS

A mis padres

Por haberme dado la oportunidad de emprender un camino aún desconocido para mi, De igual manera por enseñarme los valores que forjan la grandeza del hombre,

Agradezco el coraje que en mí infundieron para no caer ante las Adversidades y por las tantas veces que han secado mis

Lágrimas con la reflexión de mis aberraciones Incrustadas en la sombra

De mi ser.

A mis Hermanos

Por el tiempo que hemos compartido juntos, por sus alegrías y tristezas, esperando que mis errores los hagan de su conocimiento y nunca decaiga su ánimo. Ya que he

podido cristalizar varias metas gracias a sus enseñanzas, pretendiendo Llenar satisfactoriamente la imagen que en sus pensamientos

Existe.

A Vanessa Yazmín

Por ser la inspiración que necesitaba, por darme su apoyo y comprensión en los Momentos difíciles, en especial cuando compartió su cariño conmigo.

Siempre agradeceré su atención a mi persona.

A mi Compañero

Por mostrarme su determinación y conocimientos que compartió conmigo en el Transcurso de nuestra amistad, sus comentarios alusivos a la forma de

Hacer las cosas.

A la institución

Por abrirme las puertas del conocimiento y el entendimiento a las verdades que Inundan el pensamiento del ser humano. Agradeciendo en particular a la

M. C. Nidia I. Malfavón Ramos, al Ing. José J. Hernández Mosqueda Y al Lic. Narciso Gil Bustamante, por el apoyo incondicional,

Su amistad y por mostrarme que la palabra aún no Escrita es también un gran conocimiento.

Héctor Guillermo Olivares Zaragoza.

Page 4: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

INDICE

CAPÍTULO 1 ................................................................................................................................................................................ 4 1.1 ORÍGENES Y EVOLUCIÓN DE LA ROBÓTICA ................................................................................................................ 4

Robótica moderna. ................................................................................................................................................................ 5 1.2 DEFINICIONES RELACIONADAS CON LA ROBÓTICA ..................................................................................................... 6 1.3 AUTOMATIZACIÓN / ROBÓTICA.................................................................................................................................... 7 1.4 ESPECIFICACIONES BÁSICAS DE UN ROBOT-MANIPULADOR............................................................................................... 8 1.5 CLASIFICACIONES. ............................................................................................................................................................ 11

Clasificación según su tipo de control ................................................................................................................................ 11 Clasificación según el modo de operación.......................................................................................................................... 11 Clasificación según el "Nivel de Inteligencia".................................................................................................................... 12 Clasificación según el nivel de programación .................................................................................................................... 13

1.6 IMPORTANCIA DEL VOLUMEN DE TRABAJO DE LOS ROBOTS............................................................................................ 13 1.7 MUÑECAS. ......................................................................................................................................................................... 21

CAPÍTULO 2 .............................................................................................................................................................................. 22 2.1 INTRODUCCIÓN.................................................................................................................................................................. 22 2.2 MEDIOS PASOS ................................................................................................................................................................. 25 2.3 PAR DE RETENCIÓN Y PAR DE DETENCIÓN ...................................................................................................................... 27 2.4 MICROPASOS .................................................................................................................................................................... 28 2.5 SOBREPASO ...................................................................................................................................................................... 30 2.6 DESCRIPCIÓN DE MOTORES ( TABLA ) ............................................................................................................................. 31

CAPITULO 3 .............................................................................................................................................................................. 32 3.1 INTRODUCCIÓN.................................................................................................................................................................. 32 3.2 TIPOS DE ENCODERS ÓPTICOS ......................................................................................................................................... 32

Encoders incrementales ................................................................................................................................................ 33 Encoders absolutos ............................................................................................................................................................. 34

3.3 TIPOS DE SALIDA............................................................................................................................................................... 35 3.4 PARÁMETROS DEL ENCODER............................................................................................................................................ 36 3.5 PREVENCIONES ................................................................................................................................................................. 38 3.6 RESISTENCIA Y NORMALIZACIONES.................................................................................................................................. 40 3.7 APLICACIONES................................................................................................................................................................... 40 3.8 CONEXIÓN A PERIFÉRICOS ............................................................................................................................................... 41

CAPITULO 4 .............................................................................................................................................................................. 42 4.1 ANTECEDENTES ................................................................................................................................................................ 42 4.2 VENTAJAS AL UTILIZAR LOS CONTROLADORES ( DRIVERS ) ............................................................................................ 43 4.3 FUNCIONAMIENTO DE LOS DRIVERS ................................................................................................................................. 43

CAPITULO 5 .............................................................................................................................................................................. 46 5.1 INTRODUCCIÓN.................................................................................................................................................................. 46 5.2 INTERNET EN LA ACTUALIDAD............................................................................................................................................ 47 5.3 USOS Y APLICACIONES BÁSICAS DE INTERNET ................................................................................................................. 47 5.4 PROTOCOLOS TCP/IP ...................................................................................................................................................... 48 5.5 CONCEPTOS BÁSICOS DE CLIENTE SERVIDOR EN VISUAL BASIC. .................................................................................. 48 5.6 PROPIEDADES, MÉTODOS Y EVENTOS DE WINSOCK..................................................................................................... 49 5.7 PROGRAMACIÓN DE LA PRIMERA APLICACIÓN CLIENTE/SERVIDOR. ................................................................................ 50

CAPITULO 6 .............................................................................................................................................................................. 54 6.1 ANTECEDENTES ................................................................................................................................................................ 54 6.2 CLASIFICACIÓN DE PUERTOS ............................................................................................................................................ 55

Pág.1

Page 5: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

6.3 TIPOS DE MICROCONTROLADORES. ................................................................................................................................. 55 6.4 MICROCONTROLADORES DE 8 BIT O EMBEBIDOS ............................................................................................................ 56 6.5 MICROCONTROLADORES CON MEMORIA EXTERNA ......................................................................................................... 58 6.6 PROCESADORES DE SEÑALES DIGITALES ( DSP ) .......................................................................................................... 58 6.7 ARQUITECTURAS DE PROCESADORES ............................................................................................................................. 59 6.8 HARVARD - PRINCETON .................................................................................................................................................... 60 6.9 TIPOS DE MEMORIAS ........................................................................................................................................................ 62

CAPITULO 7 .............................................................................................................................................................................. 67 7.1 ANTECEDENTES ................................................................................................................................................................ 67

Modos de transmisión de los Puertos.................................................................................................................................. 68 7.2 COMUNICACIONES CON EL PUERTO SERIE ....................................................................................................................... 70

Arquitectura de comunicación serial .................................................................................................................................. 71 Características de Comunicación RS-232 .......................................................................................................................... 72

7.3 CONTROL DE COMUNICACIÓN SERIAL CON VISUAL BASIC ............................................................................................... 77 CONCLUSIONES ...................................................................................................................................................................... 84 GLOSARIO DE TÉRMINOS.................................................................................................................................................... 85 BIBLIOGRAFÍA ........................................................................................................................................................................ 90

Pág.2

Page 6: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Introducción

Los robots cartesianos son robots que están formados por un brazo de tres articulaciones translacionales (prismáticas) ortogonales y por un órgano terminal orientado mediante movimientos de acuerdo a un sistema de coordenadas cartesianas. Son vastos sus modelos ya que hay diferentes tipos de configuraciones de sus articulaciones y también se usan para diferentes aplicaciones. Este trabajo se enfocará en analizar un tipo de estos robots, las mesas con desplazamientos en el eje X, Y, Z. Estas mesas tienen muchas aplicaciones industriales como por ejemplo: pantógrafos, ploters, grúas, máquinas herramienta con CNC, etc. Además se pueden combinar perfectamente con otro tipo de robot ó con máquinas de control numérico computarizado para trabajos dentro de una célula de manufactura ó líneas de producción. Su cuerpo principal está constituido por un cubo esquelético en donde en su parte superior tiene montados sus mecanismos que dan desplazamiento a su mano ó a su eslabón terminal. Para uno de sus ejes de traslación, depende de un motor fijo a la estructura, su transmisión puede ser variada: cadena ó banda (dependiendo del tipo de trabajo). De igual forma montado en este último eslabón mencionado existe otro mecanismo (motor con transmisión) de traslación que cubriría un segundo eje cartesiano, el tercer mecanismo está acoplado al segundo con un desplazamiento vertical, es decir, sobre el eje Z (arriba y abajo).

Pág.3

Page 7: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Capítulo 1 Generalidades

1.1 Orígenes y Evolución de la Robótica

Palabra “robota” aparecida en la obra "Rossum´s Universal Robots" del escritor Karel Capek (1917). Antecedentes a la Robótica. - Siglos XVII y principio del XVIII: dispositivos mecánicos próximos a la tecnología de la robótica. - A mediados del siglo XVIII cuando Jacques de Vaucanson creó varias muñecas mecánicas de tamaño humano. - Joseph Jacquard diseña el telar mecánico controlado por tarjetas perforadas. - Tercera década del siglo XIX, Christopher Spencer diseñó un torno programable mediante un juego de levas montadas en un tambor giratorio. - 1892: Seward Babbit desarrolló una patente de una grúa giratoria con una pinza para manejar lingotes de acero al rojo vivo. - 1938-39, Willard Pollard inventó un brazo mecánico articulado empleado sobre todo en aplicaciones de pintura. - En 1945, Eckert y Mauchly construyeron el primer computador de gran capacidad denominado ENIAC (nacimiento de los computadores: control de los robots).

Pág.4

Page 8: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ Robótica Industrial. A finales de los 50 G. C. Devol desarrolla su primer manipulador capaz de realizar un movimiento controlado entre dos puntos. En 1960 se introdujo el primer robot comercial por la empresa "Planet Corporation". Devol vende las patentes en 1960 a CONDEC (Consolidated Diesel Corporation), la cual desarrolla el robot Unimate en una firma subsidiaria Unimation Inc. dirigida por Joseph Engelberger. - 1962: Se instala el primer Robot Unimate en una línea de montaje de General Motors. - 1967: General Electric Corporation desarrolló un vehículo de cuatro patas controlado por operador humano. - 1968: Se desarrolló un robot móvil denominado "Shakey" en el Stanford Research Institute (SRI), incorporaba capacidades de visión, sensores de distancia y sensores táctiles. - 1968: Kawasaki Heavy Industries obtuvo la licencia de Unimation para fabricar en Japón sus robots industriales. - 1971: Víctor Scheinman desarrolló en la Universidad de Stanford un robot controlado por ordenador y accionado por servomotores. - 1973: Se desarrolló el primer lenguaje de programación de robot denominado WAVE en el Stanford Research Institute. - 1973: Richard Hohn perteneciente a la Cincinnati Milacron Corporation, desarrolló el robot T3 controlado por computadora. - 1978: Unimation, trabajando bajo un conjunto de especificaciones emitido por la General Motors, desarrolló el Robot PUMA (Programmable Universal Machine for Assembly). Este robot disponía de cinco o seis grados de libertad, era accionado por servomotores y controlado por microprocesadores. - 1979: la Universidad de Yamanashi en Japón desarrolló el Robot tipo SCARA (Selective Compliance Arm for Robotic Assembly) para tareas de montaje. Robótica moderna. Muchos han sido los avances y nuevas tecnologías las implantadas en esta ciencia, como el control dinámico, robots redundantes, sensores externos, etc.

Pág.5

Page 9: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

1.2 Definiciones relacionadas con la Robótica

· Robot.

Máquina reprogramable y multifuncional para desarrollar diferentes tareas de manipulación o movimiento controlada por una CPU capaz de interactuar con su entorno y librar al ser humano de riesgos. · Robot Industrial. Máquina reprogramable y multifuncional diseñado para desplazar materiales, objetos, herramientas o dispositivos especiales mediante movimientos programados para la ejecución de una diversidad de tareas. Esta definición coincide plenamente con la que proporciona la Robotics Industries Association (RIA) anteriormente el Robotics Institute of America. · Manipulador.

Robot reprogramable de trayectoria continua con movimientos predeterminados con desplazamientos longitudinales y rotatorios, controlados por el ser humano, PLC’s, PIC’s, Microcontroladores, etc. · Robot pick and place ( Sujetar y Colocar ).

Robot sencillo que suele disponer de dos o tres grados de libertad, permitiendo desplazar objetos de un lugar a otro mediante movimientos punto a punto. · Androide. Robot con apariencia física similar a la del ser humano. · Robot móvil. Robot montado sobre una plataforma móvil.

Pág.6

Page 10: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

1.3 Automatización / Robótica

El robot se concibe como un elemento más que integra un sistema flexible de fabricación. La automatización y la robótica son dos tecnologías muy relacionadas entre sí, con diferencias entre ambas dos. - Automatización: Tecnología relacionada con el empleo de sistemas mecánicos, electrónicos, basados en computadoras, en la operación y control de la producción. Las líneas de transferencia, las máquinas de mecanizado, máquinas de control numérico y robots. Robótica: Ciencia que aplica al diseño, construcción y control de mecanismos articulados ( Brazo mecánico, etc. ) apoyándose de otras ciencias como la mecánica, informática y la electrónica. Tipos de automatización industrial: Automatización Fija.

Automatización Programable.

Pág.7

Page 11: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ Automatización Flexible.

La Robótica se puede incorporar dentro de este tipo de automatización.

1.4 Especificaciones básicas de un robot-manipulador.

Permiten realizar un buen diseño del robot de acuerdo a la función a la que vaya destinado. · Grados de libertad. (g.d.l.).(d.g.m.: degrees of freedom en terminología anglosajona) Número ó tipo de movimiento que realiza cada eslabón que conforma al Robot. Generalmente el número de g.d.l. suele ser siempre menor o igual a seis, ya que son los necesarios para describir tanto la posición como la orientación del elemento terminal.

Pág.8

Page 12: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.9

Por lo tanto, para satisfacer estos seis grados de libertad son necesarias seis articulaciones simples o varias articulaciones múltiples que completen seis grados de libertad (g.d.l.) Grados de movimiento (g.d.m.) o índice de movilidad. Número de movimientos independientes que son necesarios para definir el movimiento de la cadena cinemática de un robot. - Este índice de movilidad es mayor o igual al de grados de libertad. Son aplicaciones en las que son necesarias más articulaciones debido a la dificultad de acceso. De acuerdo a las características de grados de libertad y grados de movimiento se pueden dar los siguientes casos: a). Si el número de g.d.l. es igual al número de g.d.m. el manipulador es no redundante. En este caso existe solamente una posibilidad de situar el órgano terminal en el espacio. b). Si el número de g.d.l. es menor que el número de g.d.m. el manipulador se dice que es redundante. · Rango de movimiento. Amplitud máxima de movimiento que puede alcanzar una articulación. No todas las articulaciones rotacionales disponen de giros superiores a 360º y menos aún, las articulaciones prismáticas pueden superar ciertos límites razonables de desplazamiento. · Accesibilidad. Capacidad que posee un robot para acceder a sus puntos de trabajo. Esta característica depende directamente de otras como el número de grados de movimiento y de libertad, así como del propio rango de movimiento de todas y cada una de las articulaciones del manipulador. · Volumen de trabajo. Espacio físico engendrado por un punto del elemento terminal cuando el manipulador se mueve entre los límites del rango de movimiento de sus articulaciones. Una de las características más importantes a la hora de seleccionar un robot según a la aplicación que vaya dirigido como es el tamaño del robot, así como de su configuración y del rango de movimiento de sus articulaciones.

Page 13: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.10

Existen 2 tipos de volúmenes de trabajo: a).Volumen de trabajo principal: Engendrado por los primeros eslabones y articulaciones del robot. Este volumen determina el posicionamiento del robot. b). Volumen de trabajo secundario: Se sitúa próximo a las articulaciones finales de muñeca y el órgano terminal. · Resolución. Incremento más pequeño que puede producirse en el movimiento de un robot. Depende de la propia resolución de los elementos transductores de posición y velocidad (codificadores) que poseen las articulaciones del manipulador. Otro factor que puede influir en la resolución son las holguras que existan en los dispositivos mecánicos del robot. · Exactitud. Capacidad de un robot para situar su extremo en un punto deseado perteneciente a su volumen de trabajo. Depende del volumen de trabajo, capacidad de carga, etc. · Repetibilidad. Error medio cometido en el posicionamiento del robot cuando se le hace ir repetidamente a un punto determinado. Capacidad del robot para situar su elemento terminal en un punto en el espacio específico. · Rigidez estructural. Relación que existe entre la fuerza estática aplicada al extremo del robot y el desplazamiento respecto de la posición teórica nominal que experimenta el punto de aplicación de la misma. Depende directamente de la rigidez de los accionamientos, articulaciones, eslabones y de otros elementos mecánicos que integran el manipulador. · Capacidad de carga. Máxima carga que es capaz de soportar un robot manteniendo sus prestaciones nominales. · Velocidad y aceleración máximas. La velocidad de respuesta máxima de un robot se refiere a la máxima capacidad para desplazarse a la siguiente posición en un breve período de tiempo. Cabe mencionar los límites de los propios accionamientos, capacidad de carga, etc. Influyen directamente sobre la propia estabilidad del robot.

Page 14: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.11

1.5 Clasificaciones.

Las clasificaciones de los robots industriales permiten comparar sus características, así como seleccionar un robot para una tarea determinada. Clasificación según su tipo de control Permite diferenciar los robots según los métodos de control de las posiciones de un robot en su volumen de trabajo. · Robot de parada fija. Robot sin servocontrol o robot con control en lazo abierto. El robot tiene un control de un punto fijo, pero sin control de trayectoria. Cada una de sus articulaciones tiene un límite mecánico final, por lo que sólo se puede parar en uno o en otro de sus extremos. · Robot servocontrolado. Dispone de servocontroles que pueden ser motores que trabajan en función de la diferencia de señal de consigna y de realimentación. Puede parar o moverse en un número ilimitado de puntos mediante un conjunto determinado de instrucciones. Clasificación según el modo de operación · Robot punto a punto. El usuario programa el robot para moverse a desde una posición determinada a la siguiente. El camino intermedio entre estos dos puntos no se pueden especificar. Este es el movimiento de un robot en el que se mueve a una posición numérica determinada, se para y realiza una tarea, se mueve a otra posición definida numéricamente y para, etc. El camino y la velocidad de movimiento entre dos puntos son datos que no tienen trascendencia. · Robot Trayectoria continua. El usuario puede programar la trayectoria del robot. Es decir, se pueden programar aceleraciones, desaceleraciones, cambio de velocidades a lo largo del tiempo en que se desarrolla el movimiento. Clasificación Histórica. Se pueden clasificar en cinco generaciones

Page 15: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.12

· Robots secuenciales. Repiten un conjunto de instrucciones. Estos robots a menudo suelen tener un control en lazo abierto (robots "pick and place"). · Robots controlados por sensores. Disponen de control en lazo cerrado, y las acciones se realizan en base a las entradas de los sensores. · Robots controlados por visión. Los objetos son manipulados usando información procedente de un sistema de visión. Esta generación ya se utiliza hoy en día en la industria. · Robots adaptativos. Las acciones pueden ser reprogramadas automáticamente de acuerdo a las entradas de los sensores. · Robots con inteligencia artificial. Deciden por sí mismos a la hora de resolver un determinado problema ( investigación ). Clasificación según el "Nivel de Inteligencia" · Dispositivos de manipulación manual. Controlados por un operario. · Robots de secuencia fija. · Robots de secuencia variable. · Robots controlados numéricamente. El operador suministra el programa al robot. · Robots inteligentes. Trabajan teniendo en cuenta su entorno.

Page 16: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.13

Clasificación según el nivel de programación · Sistemas guiados. El usuario es el que dirige el robot y le enseña los movimientos que debe desarrollar. · Sistemas de programación a nivel de robot. El usuario es el que dirige el robot y le enseña los movimientos que debe desarrollar. · Sistemas de programación a nivel de tarea. El usuario indica las acciones que el robot debe realizar sobre los objetos en los que debe trabajar.

1.6 Importancia del Volumen de Trabajo de los Robots

Estructuras geométricas de los robots. Algunas de estas estructuras básicas de los robots han surgido en relación a los sistemas de coordenadas en los que se puede representar la posición de un punto en el espacio (sistemas cartesianos, cilíndrico y polar). Otras son variantes de las anteriores.

Page 17: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.14

Estructura Cartesiana. Se caracteriza por tener tres articulaciones prismáticas. Estructura Pórtico. Secuencia de articulaciones X-Y-Z. Último movimiento vertical (tareas de montaje), grúas pórtico y los puentes grúa industriales.

· Estructura Rectilínea. Secuencia de movimiento X-Z-Y. (operaciones de almacenaje). Ventajas: - Estructuras rígidas, y su capacidad de carga no depende prácticamente de la distancia del extremo del robot, donde está situada la carga. - Los movimientos de las articulaciones se realizan desde la parte superior de la superficie de trabajo, lo cual evita obstaculizarla (robot pórtico). - Resolución espacial es constante en todo su volumen de trabajo. - La precisión de un robot pórtico no varía mucho según la carga, mientras que en el rectilíneo disminuye en mayor medida con la distancia al eje de la base. - La modelización de este tipo de estructuras es muy sencilla de realizar. - El control de las estructuras cartesianas es simple por dos motivos. No es necesario realizar transformaciones (menos cálculos). El control de articulaciones es más sencillo.

Page 18: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.15

Desventajas: - Requiere un gran volumen para instalar este tipo de manipuladores. - No es posible trabajar con estructuras pórtico por debajo de los objetos. - El volumen de trabajo es más pequeño que el volumen del propio robot. Estructura Cilíndrica. Se caracteriza por tener dos articulaciones traslacionales y una rotacional. Dos configuraciones muy extendidas, según se considere antes la rotación, que la traslación vertical Z, o viceversa: · Estructura θ-Z-r. · Estructura Z-θ-r.

Ventajas: - Los accionamientos suelen estar situados en la base, por lo que permiten reducir la inercia de la estructura. - Su volumen de trabajo es superior al de la estructura cartesiana, aproximadamente un cilindro anular. - Permite trabajar en el espacio situado delante y detrás de él, centro de mecanizado. - Último movimiento de aproximación horizontal (tareas de carga y descarga).

Page 19: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.16

Desventajas: - Se necesitan mayor número de cálculos, al transformar las coordenadas cartesianas de un punto a las coordenadas cilíndricas propias del robot. - Resolución espacial del eje telescópico es variable. - La capacidad de carga del robot depende de la distancia máxima alcanzable por la articulación telescópica. - La inercia de la estructura aumenta con la distancia de la carga a la base y con el propio peso de la carga. - La variación de la inercia con la distancia al eje, hace más complejo el control necesario para mantener las prestaciones. Estructura Polar o esférica. - Se caracteriza por tener dos articulaciones rotacionales y otra traslacional, definiendo la secuencia θ1-θ2-r. · Estructura polar. Dos rotaciones en torno a dos ejes perpendiculares que se cortan, y el movimiento telescópico de aproximación polar. · Estructura pendular. Los centros de las dos rotaciones coinciden, consiguiendo movimientos pendulares en dos direcciones.

Page 20: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.17

Ventajas: - Volumen de trabajo muy grande, formado por una corona esférica. - Accesibilidad de la estructura polar es muy elevada (alcance de puntos situados en el plano de la base del robot). - La estructura pendular posee bajas inercias y buenas precisiones. Desventajas: - Inercia variable la distancia del extremo a la base en el robot polar - Capacidad de carga es función de dicha distancia. - Su resolución espacial es variable. - La precisión espacial es variable. - Las velocidades máximas pueden ser elevadas. - Elevado número de cálculos, al transformar las coordenadas cartesianas de un punto a las coordenadas cilíndricas propias del robot. La modelización cinemática es compleja. Estructura angular o articulada. - Se obtiene sustituyendo la articulación traslacional por la rotacional en un plano vertical. - Se asemeja al cuerpo humano ( tronco, hombro, antebrazo, codo y brazo y muñeca).

Page 21: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.18

Ventajas: - Gran accesibilidad a las zonas de trabajo. - El volumen de trabajo es relativamente grande frente al volumen del robot. - Gran flexibilidad en las tareas que puede desarrollar Desventajas: - Complejidad de su modelo cinemático. - Gran dificultad en el control de movimientos lineales. - Si la estructura está totalmente extendida, se pierde rigidez. Estructura SCARA - Esta estructura se puede obtener a partir de la cilíndrica, sustituyendo la traslación r por otra rotación θ2. - Este brazo está constituido por tres articulaciones, dos rotacionales y una traslacional. - Al obtener dos ejes paralelos, se logra conseguir un movimiento en un plano horizontal.

Page 22: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.19

Ventajas: - El peso de las articulaciones rotacionales está equilibrado mecánicamente por su propia disposición en la estructura. - Los accionamientos pueden ser pequeños y de potencia reducida, ya que no necesitan compensar su efecto al producir movimientos. - La inercia de esta estructura es baja debido a su menor peso, con el consiguiente aumento de precisión y posibilidad de realizar movimientos más rápidos. .

Page 23: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.20

Configuración Articulaciones Características

Cartesiana

x-y-z

- Estructuras rígidas. - La capacidad de carga es prácticamente constante. - Resolución espacial constante en todo su volumen de trabajo. - La precisión no varía mucho según la carga. - Modelización cinemática simple. - Control sencillo. - Requiere gran volumen de ocupación en su instalación. - Volumen de trabajo más pequeño que el volumen propio del robot. - En robots pórtico no es posible acceder por debajo de los objetos.

Cilíndrica

θ-Z-ρ

- Inercia reducida al disponer accionamientos en la base. - Volumen de trabajo (corona esférica) superior al robot cartesiano. - Accesibilidad por delante y detrás del robot. - Mayor número de cálculos (transformación de sistemas coordenados). - Resolución espacial variable. - Capacidad de carga variable con la distancia. - Inercia variable con la distancia al eje. - Control más complejo.

Polar

θ1-θ2-ρ

- Volumen de trabajo (corona esférica) muy grande. - Accesibilidad elevada. - Bajas inercias. - Buenas precisiones. - Inercia variable respecto al extremo del robot. - Resolución espacial variable. - Precisión variable. - Elevado número de cálculos. - Modelización cinemática compleja.

Articulada

Scara

θ1-θ2-θ3

θ1-θ2-ρ

- Gran accesibilidad. - Elevado volumen de trabajo frente al volumen propio del robot. - Flexibilidad en las tareas a desarrollar. - Complejidad en su modelización. - Dificultad en el control de movimientos lineales. - Baja rigidez de la estructura si está totalmente extendida. -Peso de la estructura equilibrado (por la propia disposición de la estructura). - Baja inercia ya que disponen de accionamientos pequeños.

Page 24: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.21

1.7 Muñecas.

- Controla la orientación final del robot. - Se utilizan articulaciones rotacionales compuestas. Las articulaciones traslacionales raramente se utilizan en las muñecas de los robots. - Las rotaciones típicas de una muñeca son las mismas que las de la muñeca humana: alabeo, cabeceo y giro (yaw-pitch and roll).

Debido a la complejidad existente en el diseño de muñecas, muchas de ellas poseen únicamente dos grados de libertad, consiguiendo además un costo menor. Este tipo de muñecas poseen un juego de engranajes que permiten dos rotaciones (giro y alabeo). Si los dos engranajes giran en direcciones opuestas y a la misma velocidad se logra una rotación de giro (roll), mientras que si lo hacen en la misma dirección se consigue un alabeo. Cambiando las direcciones de ambos movimientos, así como variando sus velocidades, se consiguen una variedad infinita de rotaciones compuestas.

Page 25: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.22

Capítulo 2 Motores a Pasos

2.1 Introducción

Los motores paso a paso y los motores de corriente directa (CD) sin escobillas constituyen en conjunto la clase de motores llamada motores de conmutación electrónica. Conceptualmente son parecidos entre ellos. El motor paso a paso es más apropiado para mover el eje una cantidad de giro exacta. Los motores de corriente directa (CD) sin escobillas son más apropiados para la rotación continua de velocidad ajustable. Los motores paso a paso son fundamentalmente diferentes de los demás motores de corriente directa (CD): no tienen escobillas ni conmutador mecánico. En su lugar, la acción de conmutación necesaria para la función de motor de cd es lograda por transistores externos. Es más, el rotor no tiene devanado de armadura. Simplemente es una colección de imanes permanentes salientes, figura1. Los cuatro devanados de los polos del estator y sus transistores controladores se etiquetan A, B, C y D. Cuando el circuito de control enciende un transistor en particular, hay un flujo de corriente de alimentación de corriente directa (CD) +Vs, a través de ese devanado en particular, a través del transistor a tierra. Cuando un solo devanado es energizado, está enrollado de tal manera que su polo se vuelve norte magnético. Su flujo emerge de la cara del polo, pasa a través del rotor, entonces completa su trayectoria entrando en la cara del polo directamente opuesto a él. Por ejemplo, si el transistor A energiza el polo A de la figura 1, el flujo creado por ese polo completa su trayectoria a través del polo C y a través del armazón del motor. Por tanto, C automáticamente se vuelve un polo sur, aún cuando su devanado no lleva corriente. El principio de operación de un motor paso a paso de imán permanente es el siguiente: el polo del estator energizado que se vuelve norte magnético activo atrae el polo sur más cercano del rotor para alinearlo con él. Esta acción de producción de par es ayudada por el polo sur pasivo del estator(del lado opuesto del estator), atrayendo el rotor norte opuesto para alinearlo con él. Por ejemplo, en la figura 1, si el transistor A es encendido, el polo A del estator que está en la posición de las 12 en punto es el norte activo. En el instante mostrado, ya ha atraído el polo sur 1 del rotor para alinearlo con él. También, el polo C del estator que apunta hacia las 6 es el sur pasivo. Ha traído el polo norte 4 del rotor para alinearlo con él.

Page 26: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.23

Figura 1 Con cuatro polos de estator y seis polos de rotor, este motor paso a paso tiene un ángulo de paso natural de 30°. El rotor se muestra en la posición de 0° (flecha de posición imaginaria apuntando hacia arriba, a la posición de las 12 en punto). (El hecho de que los polos magnéticos opuestos se atraigan entre ellos es una manera alterna de explicar la acción del motor. De hecho, sin embargo, si observáramos la orientación atómica interna del núcleo del imán permanente, aún encontraríamos trabajando la relación de Lorentz. Aún es la “corriente”, en la forma de electrones que giran alrededor del núcleo atómico, interactuando con el campo magnético, lo que crea en última instancia la fuerza de atracción.) Definamos la posición del rotor de la figura 1 como la posición de 0°. Hemos mostrado una flecha imaginaria de posición en el eje que apunta hacia arriba, a las 12 en punto. A medida que gira el eje del rotor, podemos describir su nueva posición dando la dirección en la que apunta la flecha imaginaria. El circuito de control apaga ahora el transistor A y enciende simultáneamente el transistor B. El polo B del estator se convierte en el norte activo; el polo D del estator atrae el polo sur 5 del rotor. El polo D del estator atrae el polo norte 2 del rotor. El rotor se mueve en dirección de las manecillas del reloj 30°, por lo que los polos del rotor se alinean con lo polos del estator. Decimos que el motor toma un paso de 30°. La flecha imaginaria de posición ahora apunta hacia la 1 en punto.

Page 27: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.24

Una vez que se ha dado el paso de 30°, el controlador puede apagar el transistor B si la carga mecánica no causa el movimiento del rotor más allá de la posición destino, que es la 1 en punto. Si la carga tiende a causar este problema, el transistor B debe permanecer encendido para permitir que el motor paso a paso mantenga su posición. El primer paso de 30° se registra en la tabla 1, pasando del renglón superior al segundo renglón. En seguida, el circuito de control apaga el transistor B y simultáneamente enciende el transistor C. Esto hace que el polo C del estator se vuelva el norte y el polo A se vuelva el sur pasivo. El polo sur 3 está apenas a 30° de distancia en este momento, por lo que se mueve para alinearse con él. El motor ha tomado otro paso de 30° en dirección de las manecillas del reloj, como la tabla 1. la flecha imaginaria de posición apunta a las 2 en punto, a 60° de su posición inicial. Y así en adelante, con el controlador disparando los transistores en la secuencia repetida ABCD, tabla 1. Deberá seguir los pasos del motor durante una rotación de 360°, hasta la parte inferior de la tabla 1. observe qué polo del estator se ha vuelto norte y cuál polo sur del rotor está a 30° de él. La inversión de un motor de un motor paso a paso para que su giro sea dirección contraria a las manecillas del reloj es sencilla, conceptualmente. Sólo disponga que el circuito de control encienda los transistores de conmutación en la secuencia inversa, DCBA. Esto se muestra en la tabla 2. Comenzando por la posición de 0°, la posición de restablecimiento de encendido(RE) [power-on reset (POR)] que ha encendido a A, el controlador primero conmuta al transistor D. En la figura 1, esto hace que el polo sur 3 del rotor se mueva 30° en dirección contraria a las manecillas del reloj para alinearse con el polo norte D del estator y, por supuesto, alineando el polo norte 6 del rotor con el polo sur B pasivo del estator. Siga la rotación en dirección contraria a las manecillas del reloj del motor paso a paso haciendo referencia a la tabla 2 y a la figura 1.

Page 28: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.25

Tabla 1 Secuencia de conmutación de los transistores para tomar pasos completos en la dirección de las manecillas del reloj.

POSICIÓN DEL EJE TRANSISTOR ENCENDIDO 0 A

30 B 60 C 90 D 120 A 150 B 180 C 210 D 240 A 270 B 300 C 330 D 360 A

2.2 Medios Pasos

Es posible conseguir que el motor de la figura 1 avance pasos de 15°, llamados medios pasos. La secuencia de conmutación de los transistores se da en la tabla 3. Compare la tabla 3 con la figura 4(a), que muestra la dirección de flujo magnético del estator del motor para cada fila de la tabla. Comenzando a 0° en la posición RE (las 12) en la figura 1, el circuito de control apaga el transistor A, encendiendo simultáneamente los transistores C y D. Ambos polos, C y D, del estator se vuelven norte activo. Los polos A y B se vuelven sur pasivo. Su flujo magnético neto combinado está a la mitad del espacio entre los polos. Esto se indica mediante la flecha etiquetada C y D en la figura 4(a). Note que la flecha de flujo apunta de la parte inferior derecha a la parte superior izquierda(de 135° a 351°). Esto significa que el flujo magnético norte emergente está entrando en el rotor en la localidad de 135°. En la figura 1, polo sur del rotor más cercano es el polo 3, que está sólo a 15° de la flecha de flujo de C y D. Por lo tanto, el rotor toma un paso de 15° en dirección de las manecillas del reloj. La flecha imaginaria de posición del eje de la figura 1 ahora apunta a 15° de las 12 en dirección de las manecillas del reloj, como en la figura 4(b).

Page 29: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.26

Tabla 2. Secuencia de conmutación de transistores para lograr que el motor tome pasos completos en la dirección contraria a las manecillas del reloj.

POSICIÓN DEL EJE

(GRADOS) TRANSISTOR ENCENDIDO

0 A -30 D -60 C -90 B

-120 A -150 D -180 C -210 B

Tabla 3. Secuencia de conmutación de los transistores para lograr que el motor tome medios pasos ( de 15° ) en la dirección de las manecillas del reloj.

POSICIÓN DEL EJE (GRADOS)

TRANSISTORES ENCENDIDOS

0 A 15 C y D 30 B 45 A y D 60 C 75 A y B 90 D 105 B y C 120 A 135 C y D 150 B 165 A y D 180 C

Page 30: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.27

Dirección de flujo neto del estator para cada posibilidad de conmutación de transistores (cada renglón de la tabla anterior). (b) Posición de la flecha imaginaria del eje para cada fila de la tabla anterior.

Figura 4.

2.3 Par de Retención y par de Detención

Los motores paso a paso de imán permanente tienen la capacidad de mantener una posición fija del eje. Si el devanado de polo del estator permanece energizado, la capacidad de mantener la posición es bastante pronunciada. La cantidad de par que puede aplicar al eje del motor la carga mecánica, sin que el motor pierda su posición y salga de una posición estable, se llama par estático de retención ó par estático límite (static stall torque). Aún cuando los devanados de polo del estator están todos desenergizados, todavía hay un poco de fuerza de atracción entre los polos del imán permanente del rotor y los polos del estator con los que se han alineado. Por tanto, el motor puede aún mantener una posición fija, pero no tan firme. Entonces el par máximo originado por la carga que puede soportar el motor sin perder su posición es llamado par de detención.

Page 31: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.28

2.4 Micropasos

Para obtener ángulos de paso muy pequeños, los dos voltajes de alimentación de fases separadas, VS(A-C) y VS(B-D), pueden modularse. Esta práctica se llama micropasos. La modulación puede ser del tipo de amplitud o del tipo de ancho de pulso. La secuencia de medios pasos de la tabla 3 nos indica que la manera normal de producir un medio paso de 15°, por ejemplo, de la posición de 30° a la de 45°, es apagar el transistor B y simultáneamente encender los transistores A y D. Observemos un método de micropasos de 30° a 45° en tres pasos de 5°. En la figura 6 se muestran sólo los polos A y D del estator y sólo un polo sur 1 del rotor. Los devanados del estator son manejados por suministros de potencia de corriente directa (CD) programables. Estos suministros de potencia tienen la capacidad de cambiar su voltaje de salida en respuesta a un mandato digital. En el sentido estricto, en sí mismos no son programables. Esto es, ellos mismos no almacenan un programa. En su lugar, reciben datos de mandato de acuerdo con un programa almacenado y ejecutado en un dispositivo basado en microprocesador. Un mejor nombre para estos suministros de potencia sería el de “suministro de potencia CD controlado por programa”. El programa puede diseñarse para variar los voltajes de suministro VS(A-C) y VS(B-D), como se puede notar en la figura 7. En el momento t=0, los transistores A y D son conmutados a encendido por un pulso de PASO enviado por el programa. En el mismo momento, el programa de control envía datos a los suministros de potencia.

Page 32: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.29

Figura 6. El concepto de micropasos.

División de un paso normal de 15° en tres pasos de 5°.

Figura 7. Formas de onda de los voltajes de alimentación de fase de amplitud modulada para

producir pasos de 5°.

Page 33: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.30

2.5 Sobrepaso

Los motores paso a paso nunca toman pasos perfectamente limpios. Más bien, sobrepasan la posición de paso, y luego se recuperan y oscilan alrededor de esa posición antes de establecerse. Ver figura 13-16. Debido a que les falta un par de polos magnéticos activos que puedan asirse entre ellos, los motores paso a paso de reluctancia variable tienen una tendencia al sobrepaso mucho mayor que los motores paso a paso de imán permanente. Bajo condiciones de operación de alta inercia y alta velocidad, el sobrepaso puede volverse un problema serio. Si la oscilación no ha cesado al momento de ocurrir el siguiente paso, puede hacer que le motor paso a paso de reluctancia variable haga un paso inverso, en la dirección equivocada. Ver figura 13-17.

Page 34: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.31

2.6 Descripción de Motores ( Tabla )

TIPO DE MOTOR VENTAJAS DESVENTAJAS CARACTERÍSTICAS

DE DESEMPEÑO APLICACIONES

TÍPICAS

Rotor devanado, Campo devanado Alta eficiencia

La estructura de conmutador y escobilla limita su vida sin fallas. Es caro. Produce una gran cantidad de Interferencia electromagnética.

Puede ser adecuado a la aplicación mediante grado de descomposición. Puede construirse para muy alta potencia de salida

Servo aplicaciones de media a alta potencia, o de velocidad ajustable

Convencional imán permanente, equipado con escobillas (de rotor devanado)

Alta eficiencia

Las mismas que el rotor Devanado y campo devanado. Desventaja comparada con las máquinas de rotor devanado en el sentido de que no es posible hacerlos compuestos.

Buena velocidad de Regulación(Sreg<10%). Par de arranque moderado. Tamaño máximo de Aproximadamente 1 hp (aproximadamente 750W).

Sistemas de seguimiento de potencia media.

Sin núcleo

Aceleración y frenado muy rápidos. Alta eficiencia. Las escobillas y el conmutador no se desgastan con la rapidez de otros tipos equipados con escobillas, porque la inductancia del devanado de armadura es menor. Su baja inductancia contribuye a una Constante de tiempo eléctrica comparable con su constante de tiempo mecánica (baja inercia).

Producción baja de par de plena Carga. El material del rotor no es resistente térmicamente y está sujeto a daños.

Hp fraccionario de tamaño Máximo maximum size fractional hp(varios cientos de watts).

Sistemas de seguimiento de baja potencia y respuesta rápida, encontrados en periféricos de computadoras, equipo de oficina e instrumentos.

Motor paso a paso de imán permanente

Digitales por naturaleza, sin necesidad de conversión D/A. Reversibles digitalmente; no se requiere conmutación de polaridad de alta potencia. Posicionamiento preciso; ángulos de paso muy pequeños. Buena capacidad de retención del eje.

Baja eficiencia. Sólo se pueden conseguir velocidades de rotación Moderadas.

Hp fraccionario de tamaño máximo. Puede producir seguimiento perfecto entre dos motores. Puede girar muy lentamente.

Control de máquinas-herramientas (control “numérico”) y otros sistemas de seguimiento en los que el posicionamiento preciso y la compatibilidad digital son importantes. No se requiere de re-alimentación estándar de seguimiento.

Motor paso a paso de Reluctancia variable

Digitales por naturaleza. Precisión de posicionamiento bastante buena. Bastante buena capacidad de retención del eje al estar energizados. Reversibles digitalmente.

Baja eficiencia. Problemas de Sobrepaso con cargas de alta inercia.

Hp fraccionario de tamaño Máximo. Puede girar muy lentamente.

Semejante a los motores paso a paso de imán permanente.

Sin escobillas disparados por posición

Potencia y par moderados sin conmutador ni escobillas. Libres de fallas y de larga vida. Buena eficiencia. Reversibles digitalmente.

Sistema sensor de efecto mas susceptible a interferencias electromagnéticas del entorno.

Tamaño máximo de aproximadamente 1 hp. Capaz de velocidades muy altas.

Usado para sistemas de seguimiento y control de velocidad de baja emisión de interferencia de radiofrecuencia y alta eficiencia. Muy útiles en entornos inflamables o explosivos. Con cojinetes adecuados, puede operar sumergido en un líquido.

Page 35: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.32

CAPITULO 3 Encoders Ópticos

3.1 Introducción

Definición.

• El encoder óptico es un sensor que permite detectar el movimiento de rotación de un eje.

• Es en definitiva un transductor que convierte una magnitud (posición lineal y angular) en

una señal digital.

Principio de Operación.

Básicamente constan de un disco transparente, el cual tiene una serie de marcas opacas colocadas radialmente y equidistantes entre si; de un elemento emisor de luz (como un diodo LED); y de un elemento fotosensible que actúa como receptor. El eje cuya posición angular se va a medir va acoplado al disco. El funcionamiento es el siguiente: cuando el sistema comienza a funcionar el emisor de luz empieza a emitir; a medida que el eje vaya girando, se producirán una serie de pulsos de luz en el receptor, correspondientes a la luz que atraviesa los huecos entre las marcas. Llevando una cuenta de esos pulsos es posible conocer la posición del eje. Es decir al estar contando pulsos, cuenta un solo bit o decodificado o un conjunto de ellos, los pulsos se pueden convertir en medidas de posiciones relativas o absolutas.

3.2 Tipos de encoders ópticos

· Incrementales Dan salidas serie de acuerdo con el ángulo del eje de rotación, mientras éste gira. - Pueden tener una señal de paso por cero - Es necesario un contador para conocer la posición del eje. - Miden posiciones relativas. -Pueden utilizar dos trenes de pulsos desfasados 90° para determinar el sentido de giro.

Page 36: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.33

· Absolutos - Dan una salida paralelo (codificada), indicando la posición angular del eje. Encoders incrementales Atendiendo a su salida se clasifican en: Unidireccionales: Dan una sola salida A.

No se puede determinar el sentido de giro.

Bidireccionales: Dan dos salidas serie

A y B. Se distingue el sentido de giro por la diferencia de fase. Salida de paso por cero Un pulso por vuelta I.

Características:

• La resolución se mide por el número de pulsos de la salida por cada revolución del eje. • Cuantas más ranuras tenga el disco, mayor será la resolución del encoder. • Las ranuras de la salida A están desplazadas (1/4 + 1/8) de periodo T respecto de las de

la salida B. • Diferencia de Fase (sentido de giro): Si gira en sentido horario la fase A está adelantada

y si gira en sentido anti-horario, retrasada respecto de la fase B.

Page 37: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.34

Encoders absolutos

La función de este tipo de dispositivos es similar a laangular.

Sin embargo en este caso lo que se va a medir no es posición exacta. La disposición es parecida a la de losdispone de una fuente de luz, de un disco graduado y deen la graduación o codificación del disco.

En este caso el disco se divide en un número fijo de secuno con un código cíclico (código BCD o Gray); este códzonas transparentes y opacas dispuestas radialmente, coes necesaria ninguna mejora para detectar el sentido distintos sectores angulares es absoluta.

La resolución de estos sensores es fija y viene dada por edisco, o lo que es lo mismo, el número de bits del código códigos de 8 a 19 bits.

Estado Canal A Canal B

S1 Alto Bajo

S2 Alto Alto S3 Bajo Alto S4 Bajo Bajo

de los anteriores, medir la posición

el incremento de esa posición, sino la encoders incrementales. También se un fotorreceptor. La diferencia estriba

tores (potencia de 2) y se codifica cada igo queda representado en el disco por mo se puede apreciar en la figura. No

del giro, ya que la codificación de los

l número de anillos que posea el utilizado. Normalmente se usan

Page 38: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.35

La salida paralelo, puede estar codificada en:

- BCD (Binario Codificado a Decimal) - Gray: El cambio de números sucesivos se realiza con la conmutación de un solo bit, minimizando la posibilidad de errores.

BCD GRAY BCD GRAY BCD GRAY 00- 0 0000 0000 06- 0 0110 0101 12- 1 0010 1010 01- 0 0001 0001 07- 0 0111 0100 13- 1 0011 1011 02- 0 0010 0011 08- 0 1000 1100 14- 1 0100 1001 03- 0 0011 0010 09- 0 1001 1101 15- 1 0101 1000 04- 0 0100 0110 10- 1 0000 1111 05- 0 0101 0111 11- 1 0001 1110

· Cada salida está conectada a un optoacoplador. · Los discos codifican la salida mediante la anchura y la distribución de las ranuras, franjas o pistas.

3.3 Tipos de Salida

Page 39: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.36

3.4 Parámetros del Encoder

· Resolución - Número de pulsos por revolución del eje. - Típicas: 10, 60, 100, 200, 300, 360, 500, 600, 1000 y 2000. · Respuesta máxima en frecuencia - La frecuencia máxima a la cual el encoder puede responder eléctricamente. - En los encoders incrementales es el máximo número de pulsos de salida que se pueden emitir por segundo. · Par de arranque -Cuanto menor sea más sencillo es de arrancar. · Velocidad máxima de rotación - El número máximo de revoluciones que el encoder puede soportar mecánicamente. - La velocidad del eje del encoder debe respetar la velocidad máxima de rotación y la frecuencia máxima de respuesta. - Frecuencia > r.p.m./60 · Resolución · Momento de inercia - Es el momento de inercia de rotación del eje. - Cuanto menor sea más sencillo es de parar.

Precauciones

Tanto los encoders absolutos como los incrementales pueden presentar problemas debido a la gran precisión que es necesaria en el proceso de fabricación. Además son dispositivos especialmente sensibles a golpes y vibraciones.

Page 40: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.37

· Acoplamiento del eje - Hay que tener en cuenta las pequeñas tolerancias que puede llegar a absorber el acoplamiento. - Tolerancia de excentricidad - Distancia radial entre los ejes del encoder y del motor. - Tolerancia de inclinación - Ángulo entre los ejes del encoder y el motor. - Tolerancia de desplazamiento axial - Distancia axial entre los ejes del encoder y del motor. - Existen acoplamientos de plástico y de metal. · Cableado - No cablear las líneas de alimentación del encoder junto a las de potencia o alta tensión. - Para alargar el cable considerar la frecuencia de trabajo. Puede distorsionarse la forma de onda. Se recomienda el modo de salida driver de línea. - Cuando se conecta o desconecta el encoder se puede generar un pulso erróneo. Esperar 100 ms. Ajuste de la posición inicial - Con la salida de paso por cero y el chaflán del eje del encoder, el ajuste de la posición inicial es sencillo.

Page 41: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.38

3.5 Prevenciones

Prevención de conteo erróneo. - Cuando el encoder se para próximo al flanco de subida o bajada, se puede generar un impulso erróneo. - Para prevenir este efecto se debe usar un contador reversible. Extensión de la salida del controlador (driver) de línea. - Se recomienda utilizar pares de cables trenzados y un receptor RS-422A. - De este modo se elimina el ruido en modo común. - Curvas características Vida del soporte - Muestra la duración del soporte del encoder, número de revoluciones, al ser sometido a cargas axiales (Ws) y radiales (Wr). Extensión del cable - El tiempo de subida de los impulsos de salida aumenta al alargar el cable. Esto afecta a las características de fase diferencial de las fases A y B. -La tensión residual de salida también aumenta, lo cual nos limita el valor de la carga. Vida del soporte

Page 42: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.39

Extensión del cable

Page 43: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.40

3.6 Resistencia y Normalizaciones

3.7 Aplicaciones

Page 44: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.41

3.8 Conexión a Periféricos

Mirar para cada modelo de encoder las posibilidades concretas de conexión. - Contadores digitales (H7BR, H7CR, ...) - Controladores de sensores (S3D2, S3D8) - Tacómetros digitales - Procesadores inteligentes de señal (K3Nx) - Schmidt CMOS - Schmidt TTL, LSTTL - Contadores de alta velocidad de autómatas. - Unidades de control de posición.

Page 45: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.42

CAPITULO 4 Controladores ( Drivers )

4.1 Antecedentes

Se han desarrollado circuitos integrados (CI)que están diseñados para controlar motores de paso a paso en particular pero estos mismos pueden ser usados con los motores de CD comunes. Son una solución versátil para dirigir a los motores por medio del control de las señales de E/S. Son un sistema de control típico de interface digital. Estos CI normalmente contienen transistores de conmutación de potencia (o fase), acoplándose a la lógica digital que determina la secuencia de conmutación específica. Aplicando los niveles de entrada digital adecuados a las terminales lógicas del CI, el usuario instruye al CI que opere el motor en dirección de las manecillas del reloj o dirección contraria, además en el caso de los motores a pasos que los haga funcionar en pasos completos o en medios pasos.

Fig.1 Sistema de control típico analógico-digital

Algo en común pero indeseable en la característica del funcionamiento del motor a pasos es la resonancia a ciertas velocidades. En cuestiones de velocidad bajas o altas nos lleva a la rotación irregular y al calentamiento. Los drivers o controladores, son los encargados de actuar como interfaz entre el sistema operativo y el motor reduciendo este tipo de problemas. La calidad de señal es la llave para depurarla algunas veces en los controladores. La calidad de funcionalidad de los controladores se refleja en la facilidad de uso, flexibilidad, funcionamiento excelente, sobre todo su fiabilidad.

Page 46: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.43

4.2 Ventajas al utilizar los Controladores ( Drivers )

Las ventajas de este control son:

• Bajo costo y fiabilidad reforzada debido al tamaño reducido.

• Flexibilidad para generar y controlar señales de onda a velocidades bajas y altas.

• Funcionamiento sobre un rango de velocidad muy alto.

• Uso reducido debido al suave mando del motor.

• Funcionamiento más tranquilo debido a ruido reducido.

4.3 Funcionamiento de los Drivers

Existen numerosos tipos de drivers y numerosas marcas por lo que explicaremos dos tipo de drivers para mejor comprensión. El CI de la figura 5 tiene una entrada lógica etiquetada 1PH/2PH., que habilita al CI para que opere el motor paso a paso en modo de una fase o en modo de dos fases. En el motor paso a paso, el par de devanados A-C es referido como una fase, y el par de devanados B-D se llama la otra fase.

Page 47: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.44

En la fig. 6 podemos observar otro tipo de configuración en donde cada fase es controlada por medio de 4 compuertas de entrada que son: Entrada 1y 2 habilitadas por “En A”, Entrada 3 y 4 habilitadas por “En B”. Las Entradas 1 y 2 es referido a una fase, 3 y 4 para la otra fase. Caso parecido al anterior mencionado.

En el primer caso las entradas (En) y (1PH/2PH) fijan el estado de la fase, cuando las entradas (En) y (1PH/2PH) están en alto habilita las fases. Un estado bajo (En) y (1PH/2PH) respectivamente inhiben las fases. Las fase son constituidas por un puente de transistores que se encarga de conmutar los devanados del motor paso a paso es decir los transistores controlan la carga inductiva en común ó un modo diferencial dependiendo del estado de las entradas. Los emisores de los cuatro transistores de conmutación comparten la terminal de tierra común. Para algunos drivers sus colectores son sacados a terminales disipadoras de calor. En la figura 5 la fase A-C es energizada por su propio suministro de voltaje de CD., simbolizado VS(A-C). La fase B-D es energizada por un suministro de CD. potencialmente independiente, simbolizado VS(B-D). En la figura 6 la fase 1-2 su terminal de suministro es Vss, para la la fase 3-4 es Vs. En la figura 6(b) se muestra como se debe conectar un motor CD convencional a un driver para el control de giro. En este ejemplo D y C son las entradas lógicas que indican la conmutación para indicar el giro del motor. Es decir cuando C tiene nivel alto(H) y D bajo(L) la fecha del motor gira hacia un sentido, si D tiene nivel alto (H) y C nivel bajo (L) la flecha del motor gira en sentido contrario. Si ambas terminales están en nivel alto se coloca en paro rápido el motor, si ambas están en nivel bajo el motor esta en paro libre.

Page 48: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.45

En palabras sencillas si se conecta correctamente el circuito mostrado cuando el usuario active (con 5 VCD) solo la entrada C el motor girara en un sentido y si activa solo la entrada D girara hacia el otro sentido. Sugerencias Un capacitor no inductivo usualmente de 100ηF, debe contener a Vs y a Vss separados por la tierra, tan cerca como sea posible del conector de tierra con el fin de disminuir el ruido que se pueda presentar dentro del sistema. En las figuras 5 y 6 las terminales de suministro se hace el propósito de colocar diodos de contratensión de ruptura en paralelo con los devanados del motor. Los diodos protegen a los transistores de daños a causa de los grandes voltajes transitorios generados por los devanados inductivos cuando se interrumpe su corriente. Algunos CI cuentan internamente con este tipo de diodos otros no, se recomienda revisar la hoja técnica del driver a usar antes de ponerlo en marcha.

Page 49: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.46

CAPITULO 5 INTERNET ( PROTOCOLO TCP/IP )

5.1 Introducción

¿Qué es Internet? Se puede definir a Internet como una "red de redes", es decir, una red que no sólo interconecta computadoras, sino que interconecta redes de computadoras entre sí. Una red de computadoras es un conjunto de máquinas que se comunican a través de algún medio (cable coaxial, fibra óptica, radiofrecuencia, líneas telefónicas, etc.) con el objeto de compartir recursos. De esta manera, Internet sirve de enlace entre redes más pequeñas y permite ampliar su cobertura al hacerlas parte de una "red global". Esta red global tiene la característica de que utiliza un lenguaje común que garantiza la intercomunicación de los diferentes participantes; este lenguaje común o protocolo (un protocolo es el lenguaje que utilizan las computadoras al compartir recursos) se conoce como TCP/IP. Así pues, Internet es la "red de redes" que utiliza TCP/IP como su protocolo de comunicación. ¿Cómo se inició Internet?

En los E.U. buscaron una forma de mantener las comunicaciones vitales del país en el posible caso de una Guerra Nuclear.

En primer lugar, el proyecto contemplaba la eliminación de cualquier "autoridad central", ya que sería el primer blanco en caso de un ataque; en este sentido, se pensó en una red descentralizada y diseñada para operar en situaciones difíciles. Cada máquina conectada debería tener el mismo status y la misma capacidad para mandar y recibir información.

Page 50: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.47

El envío de los datos debería descansar en un mecanismo que pudiera manejar la destrucción parcial de la Red. Se decidió entonces que los mensajes deberían de dividirse en pequeñas porciones de información o paquetes, los cuales contendrían la dirección de destino pero sin especificar una ruta específica para su arribo; por el contrario, cada paquete buscaría la manera de llegar al destinatario por las rutas disponibles y el destinatario reensamblaría los paquetes individuales para reconstruir el mensaje original. La ruta que siguieran los paquetes no era importante; lo importante era que llegaran a su destino.

5.2 Internet en la actualidad

El mayor número de usuarios de Internet y la creciente necesidad de acceder a Internet desde distintos lugares dio paso a la creación de aplicaciones que permitiesen al usuario disponer de acceso en lugares remotos. Los diferentes dispositivos que permiten acceder a Internet desde cualquier lugar, van desde el clásico PC Portátil hasta las nuevas PDA´s -también conocidas como agendas electrónicas u ordenadores de bolsillo. Acceso directo a través del móvil Conocido como acceso WAP (protocolo de aplicación sin cables) permite un acceso limitado a Internet. Es decir, podremos navegar únicamente en aquellas páginas que cuenten con esta tecnología. Actualmente son muy pocas, por lo que supone un acceso muy restringido a Internet y de escasa utilidad práctica. Acceso a través de las Agendas electrónicas (PDA´s). Las agendas electrónicas llevan en el mercado 6 años. Inicialmente se limitaban a la función de agenda de citas y contactos. Su principal ventaja radica en la posibilidad de sincronizar esta agenda con la del ordenador. Posteriormente, estas PDA´s han ido incorporando nuevas funciones hasta convertirse actualmente en “Pocket PC´s” ya que contienen las mis mas funciones que un ordenador portátil o de sobremesa.

5.3 Usos y aplicaciones básicas de Internet

Los usos y aplicaciones básicas de Internet son un conjunto de servicios que por sus características podemos agrupar y conformar en tres principales tipos de accesos a información. Medios de comunicación, Búsqueda de información, Información, servicios de comercialización y transacciones.

Page 51: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.48

Comunicación Sin importar el origen o destino del contacto podemos enviar mensajes (correo electrónico), formar parte de grupos de discusión con personas que comparten un interés afín al nuestro, o conversar en tiempo real con otros usuarios en distintas partes del mundo (chat), incrementado con la posibilidad de ver a la(s) otra(s) persona(s) (videoconferencia) Posibilita la comunicación entre dos o más computadoras (usuarios) en forma rápida, cómoda y económica. Búsqueda Acceder a datos de las más diversas fuentes, independientemente de su origen, así como fotos, gráficos, archivos de audio, animaciones, etc. Además de recursos disponibles por empresas, bibliotecas, museos, universidades, banco de datos y toda la infinita variedad de material brindada por los millones de usuarios conectados a la red. Comercialización y transacción Comprar y vender a través de la red (comercio electrónico – E-commerce), realizar operaciones bancarias de todo tipo como movimientos de fondos, transferencias, consultas de saldo (home banking) y el pago de servicios. Todo esto en forma inmediata y desde una PC conectada a Internet, agilizando nuestros tiempos y facilitando la gestión de los mismos.

5.4 Protocolos TCP/IP

Internet usa el protocolo TCP/IP que significa "Transmision Control Protocol / Internet Protocol", es el que se encarga de recibir paquetes de información y redirigirlos al usuario final que los solicitó. Este protocolo TCP/IP puede verificar que el paquete de información haya llegado con éxito al destinatario final, concretando así la transacción. Todas las máquinas que están conectadas a Internet tienen asignadas un número que se forma con 4 cifras de 3 dígitos (que no pueden superar al número 255). Ejemplo del IP máximo que se puede encontrar: 255.255.255.255

5.5 Conceptos Básicos de Cliente Servidor en Visual Basic.

Un programa simple es un conjunto de instrucciones que generalmente devuelven un valor al usuario, ya sea numérico o una cadena de letras, este dato es el resultado de la acción del usuario sobre el programa, ya que el usuario fue el que solicitó el dato. Al igual que un usuario se comunica con el programa por medio del teclado, dos programas se pueden comunicar entre sí por medio de un control especial que se denomina WinSock Control.

Page 52: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.49

Este control esta disponible en el lenguaje Visual Basic, y su nombre proviene de Windows Sockets. El Winsock Control como opción predeterminada no se encuentra disponible en la barra de controles estándar de Visual Basic, para acceder a él debemos agregarlo manualmente mediante Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. No es visible en tiempo de ejecución, lo que significa que solo nosotros sabemos que el control se encuentra en nuestra aplicación y cuáles son sus propiedades, aunque también se pueden definir en tiempo de ejecución. Este tipo de aplicaciones Cliente/Servidor permiten comunicar programas entre sí, en consecuencia también permiten comunicar varias computadoras, porque habiendo un programa en la computadora llama "Oscar_1" y otro en la computadora llama "Daniel_1" ambos programas se pueden comunicar a través de Internet y compartir información, o adquirir información sin saber que el dueño de la computadora lo autoriza. Esto frecuentemente trae problemas al querer distinguir si un programa esta autorizado por el dueño o el encargado (administrador o sysop) para acceder al sistema. Varios administradores permiten el acceso, pero a la misma vez restringen las carpetas importantes de sus computadoras para no correr el riesgo de perder información vital. Si el programa que se usa para acceder a otra computadora esta autorizado por el encargado de la PC se puede denominar "Herramienta de administración remota", en cambio si el acceso no es permitido o no se avisa que se quiere entrar y se hace a la fuerza el programa recibe el nombre de "Troyano".

5.6 Propiedades, métodos y eventos de WINSOCK

Una vez que tenemos el WinSock control en nuestra barra de controles en Visual Basic ya podemos comenzar a ver las propiedades, eventos y métodos más importantes del control. Para agregarlo manualmente ir a Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. Como mencionamos anteriormente este control no es visible en tiempo de ejecución. Primero abrimos un proyecto (EXE Estándar) y colocamos en control en cualquier parte del formulario. Vamos a comenzar por ver las propiedades, estas pueden ser puestas en tiempo de diseño como también en tiempo de ejecución. A continuación la lista de propiedades más importantes.

Page 53: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.50

LocalIP: Devuelve la dirección IP de la máquina local en el formato de cadena con puntos de dirección IP (xxx.xxx.xxx.xxx). RemoteHost: Establece el equipo remoto al que se quiere solicitar la conexión. LocalPort: Establece el puerto que se quiere dejar a la escucha. RemotePort: Establece el número del puerto remoto al que se quiere conectar. State: Verifica si el Control WinSock esta siendo utilizado o no. Estas son algunas de las propiedades más importantes, y a continuación la sintaxis de cada propiedad. Objeto. Propiedad = Valor Donde Objeto va el nombre del Control WinSock, el nombre predeterminado cuando lo incluimos en alguna aplicación es "WinSock1". Luego le sigue la propiedad que deseamos asignar y finalmente el valor que la misma tomará. Este simple ejemplo nos da de forma rápida nuestro IP, aunque no estemos conectados a Internet el IP aparece igual, solo que siempre va a tomar el valor : 127.0.0.1

5.7 Programación de la primera aplicación Cliente/Servidor.

Conociendo las propiedades, métodos y eventos del Control WinSock podemos pasar a la engorrosa labor de la programación. Para poder programar la siguiente aplicación necesitan tener el Control WinSock en el formulario, eso siempre es fundamental para que el programa ande. Para entender el correcto funcionamiento del protocolo TCP/IP vamos a empezar por programar la aplicación Servidor a la cual luego se conectará el Cliente. Comenzamos por crear un proyecto nuevo (EXE estándar) para el Servidor, y agregamos la siguiente lista de controles al formulario principal. La ubicación de dichos controles es a gusto del programador, siempre tratando de que el usuario final este a gusto con el producto y que se pueda manejar libremente sin problemas por el entorno del mismo.

Page 54: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.51

- WinSock Control - 2 cajas de texto (TextBox) - 2 botones. A continuación hace falta que cambiemos algunas propiedades de los controles, debajo la lista de controles con las respectivas propiedades a cambiar. Control (nombre predeterminado) Propiedad (nuevo valor) WinSock1 LocalPort = 888 Text1 Text = Text2 Text = Command1 Caption = "Escuchar" Una vez hecho esto podemos empezar a tipear el código. El sangrado del programa es una cuestión de entendimiento para el programador, algunos recurren a éste como otros no, eso también queda a criterio del que programa. En el Evento Click del Command1 incluimos el siguiente código; (sólo lo que esta en NEGRITA, el resto es en modo de ayuda, ya que aparece cuando se hace doble click en algún control). Private Sub Command1_Click() Winsock1.Listen End Sub Esto hace que el Control WinSock empiece a funcionar, escuchando el puerto que se indicó en las propiedades de dicho control. Este puerto es el 888. Ahora si realizamos todo a la perfección el puerto 888 esta siendo vigilado para aceptar conexiones remotas. Luego en el Evento DataArrival del WinSock; Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos As String Winsock1.GetData datos Text1.Text = Text1.Text + datos End Sub Datos queda transformada en una variable de cadena, y WinSock almacena los datos que recibe del Cliente en el buffer y luego ingresan a la variable datos, dicha variable mostrará su contenido en el control TextBox (Text1). En el evento ConnectionRequest; Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) Winsock1.Close Winsock1.Accept requestID End Sub

Page 55: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.52

Este evento es muy importante, permite aceptar la petición de conexión. Sin este evento el resto del programa no tendría efecto. En el evento Click del command2; Private Sub Command2_Click() Dim enviar As String enviar = Text2.Text Winsock1.SendData enviar End Sub Esto permite enviar el texto que se introduzca en el TextBox número 2. Por ahora este es un simple programa Servidor, lo que hace es: designar un puerto, dejarlo a la escucha para aceptar conexiones, si se realiza una petición de conexión aceptarla, y por último enviar datos al Cliente y recibir los datos que éste mande. Para seguir programando el Cliente hace falta crear un nuevo proyecto y en el formulario principal incluir la siguiente lista de controles: - WinSock Control - 3 cajas de texto (TextBox) - 2 botones. Como lo hicimos anteriormente hace falta cambiar algunas propiedades. Debajo la lista de controles con las respectivas propiedades para cambiar. Control (nombre predeterminado) Propiedad (nuevo valor) WinSock1 RemotePort = 888 Text1 Text = Text2 Text = Text3 Text = Command1 Caption = "Conectar" Command2 Caption = "Enviar" Para tener una referencia de cómo situar los controles conviene seguir los siguientes parámetros:

Page 56: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.53

En el método del command1; Private Sub Command1_Click() Winsock1.RemoteHost = Text3.Text Winsock1.Connect End Sub El evento conectado permite conectar al programa servidor que esta esperando la solicitud, este evento requiere un parámetro fundamental, el IP o nombre de host el cual es introducido previamente a la conexión en el cuadro de texto número 3 (Text3). En el evento DataArrival del WinSock Control; Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos As String Winsock1.GetData datos Text1.Text = Text1.Text + datos End Sub Esto permite a la aplicación (a través de WinSock) recibir información del servidor y mostrarla en pantalla. En el método del command2; Private Sub Command2_Click() Dim enviar As String enviar = Text2.Text Winsock1.SendData enviar End Sub Estas instrucciones son necesarias para enviar información al servidor.

Page 57: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.54

CAPITULO 6 MICROCONTROLADORES

6.1 Antecedentes

Desde hace algunos años, los microcontroladores se han convertido en el punto de mira de la gran mayoría de diseñadores. Casi todos los montajes que antaño precisaban transistores y operacionales, hoy quedan reducidos a poco más que un chip.

Hoy en día estamos rodeados de microcontroladores, los podemos encontrar en:

Electrodomésticos (TV, radio, video, CD, DVD, lavadora, nevera.... etc.) Automóvil (pronto veremos EOBDII, CAN, ISO9141 y las centralitas) Ordenadores (ratón, teclado, periféricos...etc.) Robótica (Industrial y aficionados) Sonido profesional (sintetizadores, efectos especiales,...etc.) Electromedicina (sistemas de diagnóstico, UVI, etc...) Telecomunicaciones (profesionales y radioaficionados) Aviación y medios de transporte en general. Equipos militares (armamento y sistemas tácticos) Y . ... prácticamente en cualquier aparato electrónico...desde nuestro reloj de pulsera

hasta una estación espacial...... la lista es interminable..............

¿ Qué es un microcontrolador ?

Un microcontrolador es un pequeño ordenador que contiene en su interior un procesador, soporte (reloj y reset), memoria y puertos de entrada-salida, todo ello dentro de un pequeño chip que podemos programar fácilmente a nuestro antojo, con relativa facilidad.

Alimentación Memoria de programa

Reset Procesador

Reloj y temporizadores

Memoria RAM

Puertos

E/S

Representación esquemática de un microcontrolador

Page 58: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.55

6.2 Clasificación de puertos

Cuando un microcontrolador se usa en una aplicación, se comunica con el mundo exterior a través de sus puertos de ENTRADA (pulsadores, interruptores, sensores), procesa la información según un programa, y envía datos a través de sus puertos de SALIDA a otros dispositivos (pantallas alfanuméricas, indicadores visuales y sonoros, motores etc..)

Los puertos de entrada y salida son para un microcontrolador la vía de comunicación con el exterior. Puede recibir información del exterior, procesarla y activar los dispositivos necesarios según el programa que contiene.

6.3 Tipos de Microcontroladores.

Cuando se desarrolla una aplicación con microcontroladores, no solo se esta construyendo un hardware y desarrollando unos programas, sino que uno es responsable de crear muchas de las rutinas que tradicionalmente realiza un sistema operativo y chips adicionales en un sistema con microprocesador, como puede ser nuestro PC con Windows o Linux.

Esto que en principio podría parecer un inconveniente, en realidad nos da una libertad extraordinaria para los que nos gusta diseñar y controlar por completo un sistema, además de no depender para nada de terceros.

Diferentes arquitecturas de procesadores pueden dar lugar a diferentes comportamientos en diferentes aplicaciones.

Existe gran variedad de microcontroladores pero se reduce toda esa aparente gran cantidad de microcontroladores a 3 tipos:

• Microcontroladores de 8 bit (llamados también en ingles "embedded" o sea embebidos)

• Microcontroladores de 16 y 32 bit

• DSP, Procesadores de Señales Digitales

Page 59: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.56

6.4 Microcontroladores de 8 bit o Embebidos

El término "embebido" del ingles "embedded ó self-contained" define su estructura, es decir que todos los recursos necesarios a nivel de hardware están contenidos dentro del microcontrolador. Memorias, puertos de entrada-salida, oscilador del reloj etc.,se encuentran en el interior de un solo chip, así que solo necesitaremos alimentarlo (pila o fuente de alimentación) y configurar la señal del oscilador de reloj, para que nuestro microcontrolador se ponga en funcionamiento.

Lo principal en estos microcontroladores es proporcionar un sistema de bajo costo programable y con posibilidades de conectar con otros dispositivos externos. Lo que quiere decir que por lo general no se utilizan en sistemas de gran complejidad. Aún así son capaces de proporcionar un control sofisticado en ciertas aplicaciones.

Por lo general estos dispositivos tienen las siguientes características:

• Entrada de RESET: patilla por la que podemos reiniciar el chip en cualquier momento para que vuelva al inicio del programa.

• RELOJ: con unos pocos componentes pasivos configuramos la velocidad del oscilador interno que marca la velocidad de proceso del programa.

• Procesador CENTRAL: es el corazón del microcontrolador, digamos que es un microprocesador. Es el que procesa el programa a ejecutar.

• Memoria de programa: aloja el programa a ejecutar, puede ser de varios tipos. ROM, de solo lectura, por lo que viene programada de fábrica. EPROM, programable por el usuario, pero reprogramable solo si el dispositivo dispone de una ventanilla que permita borrarla con rayos UVA. EEPROM, programable y borrable eléctricamente, lo que permite un control total, cómodo y rápido por parte del usuario.

• Memoria RAM: es la memoria de trabajo, en la que se realizaran las operaciones con las variables de programa definidas.

Puertos de E/S: son las conexiones con el mundo exterior. Por estas patillas podremos manejar dispositivos externos de salidas (LED, pantallas de plasma, relés, etc.) y leer dispositivos de entrada (pulsadores, interruptores, sensores etc.)

• Contadores y divisores: empleados en procesos que requieran un control del tiempo, como relojes, alarmas, temporizadores... y cualquier proceso que requiera controlar periodos de tiempo...

Page 60: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.57

El esquema que se vio anteriormente refleja el contenido de un microcontrolador de este tipo. Además de las características básicas que se han visto, pueden llevar añadidas otras más sofisticadas como las que se indican a continuación:

• Programa de Debug o monitorización: permite comprobar en tiempo real el funcionamiento del programa y detectar errores en el mismo de manera sencilla.

• Interrupciones: patillas por las que podemos conectar dispositivos externos, que pueden interrumpir el programa y hacer que se ejecuten rutinas concretas. Todo ello independientemente de la instrucción que se este ejecutando.

• Puertos analógicos de E/S: si los microcontroladores incluyen conversores analógico-digitales y/o digitales/analógicos, podremos leer señales analógicas o generar señales analógicas, con lo que la comunicación con el exterior se hace más cómoda y flexible.

• Puertos serie: permiten una comunicación fácil con un ordenador personal o con otros dispositivos que usen puertos serie (RS232, CAN, SPI, I2C etc.)

• Interfaces con memoria externa: si lo incluyen permite ampliar la capacidad de memoria para procesar programas más extensos o disponer de memoria RAM adicional.

Todas estas características incrementan la potencia del microcontrolador notablemente y en ocasiones resultan imprescindibles.

Los primeros microcontroladores fueron realizados con tecnología bipolar o NMOS. Hoy en día todos los dispositivos se fabrican usando tecnología metal-óxido-semiconductor-complementario (CMOS), que disminuye notablemente el tamaño del chip y las necesidades en la alimentación.

La velocidad máxima que nos encontramos ronda varias decenas de MHZ y la principal limitación está en la velocidad de acceso a la memoria, aunque esto no supone un grave inconveniente para la mayoría de las aplicaciones típicas.

Page 61: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.58

6.5 Microcontroladores con Memoria Externa

Algunos microcontroladores, sobre todo de 16 o 32 bit, permiten conectar memoria externa y para ser más exactos algunos necesitan memoria externa para trabajar, esto es tradicional por ejemplo en la conocida serie 8051 de microcontroladores.

Esta memoria externa puede ser "memoria de programa" que como su nombre indica es la que contendrá el programa a ejecutar y memoria RAM que sirve para realizar operaciones de cálculo.

Así pues el organigrama de este tipo de microcontroladores queda como se muestra en la imagen superior, es decir la memoria, tanto de programa como de trabajo (RAM) sale al exterior del chip y este incluye un interface para conectar con esta memoria.

6.6 Procesadores de Señales Digitales ( DSP )

Esta es una categoría relativamente reciente. La potencia y usos de estas unidades los ponen fuera de los tradicionales usos que se dan a los conocidos microcontroladores. Poco o nada comparten en cuanto a aplicaciones se refieren microcontroladores como los PIC, Atmel, Rabbit etc., con los DSP.

Page 62: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.59

La función de estos dispositivos es tomar muestras de datos analógicos, digitalizarlos y procesarlos en tiempo real según un programa. Todo ello a velocidades de vértigo, varios cientos de mega hertzios, que permiten realizar cosas hasta hace unos años totalmente impensables.

No obstante hay que señalar que el mundo de los DSP requiere unos profundos conocimientos teóricos y matemáticos, sin los que no es posible realizar un diseño.

6.7 Arquitecturas de Procesadores

Tipos de arquitecturas de procesadores que existen, sus características y aplicaciones.

CISC ( Complex Instruction Set Computer, Instrucción Compleja Fija por Computadora )- RISC (Reduced Instruction Set Computer, Instrucción Reducida Fija por Computadora).

Es frecuente que muchos procesadores sean llamados "RISC" porque se tiene la sensación de que RISC es más rápido que CISC. Esto puede dar pie a la confusión porque hay muchos procesadores identificados como tipo RISC, cuando en realidad son CISC. Y en muchas aplicaciones los procesadores CISC ejecutarán el código más rápido que un RISC o ejecutarán aplicaciones que un procesador RISC no puede ejecutar.

¿Cuál es la diferencia real entre un procesador RISC y uno CISC ?

Bien, los procesadores CISC tienden a tener un juego de instrucciones mayores, las cuales llevan a cabo unas permutaciones diferentes de la misma operación con instrucciones que el diseñador del procesador ha considerado útiles.

En los procesadores RISC, las instrucciones son las mínimas posibles para permitir a los usuarios diseñar sus propias operaciones, en vez de dejar al fabricante que lo haga en el diseño original del procesador.

La habilidad de escribir en todos los registros del procesador como si fueran el mismo es conocida como "ortogonalidad" o "simetría" del procesador. Esto permite que algunas operaciones sean muy potentes y flexibles. Y puede ser visto en un "salto condicional".

En un procesador CISC un salto condicional esta usualmente basado en unos bits de registro de estado. En un procesador RISC, un salto condicional puede estar basado en un bit en cualquier parte de la memoria. Esto simplifica enormemente la operación de los indicadores (flags) y ejecuta el código basado en su estado.

Page 63: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.60

Pero para que un sistema RISC funcione con éxito, más que reducir el juego de instrucciones del procesador, se ha de conseguir que esas pocas instrucciones sean capaces de realizar en pocos ciclos de reloj, funciones complejas de una manera eficiente.

En resumen los sistemas RISC tienen un juego de instrucciones menor que los CISC. Los sistemas basados en RISC son la tendencia actual, siendo los CISC progresivamente abandonados por los fabricantes

6.8 Harvard - Princeton

Hace muchos años ya, el gobierno norteamericano preguntó a las universidades de Harvard y Princeton que tipo de arquitectura deberían usar para construir un ordenador destinado a calcular las tablas de la Artillería Naval en sus bombardeos, en distintos entornos.

Princeton respondió que ese ordenador debería tener una memoria única para almacenar el programa, las variables y otras estructuras de datos. Esta técnica es más conocida por el nombre de "Von Neumann".

En esta técnica el interface de memoria es responsable de manejar el acceso al espacio de memoria, entre la lectura de instrucciones y el paso de datos desde la memoria a los registros del procesador.

En este diagrama queda representada la arquitectura Princeton, como podemos ver solo existe un almacenamiento de memoria, que se comparte tanto para el programa como para las variables y la pila.

Harvard, sin embargo respondió que el diseño a usar debería emplear bancos de memorias separadas para el programa, para el área de variables y pila. Y cuya representación esquemática vemos en el siguiente diagrama.

Page 64: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.61

El resultado de esto Princeton-Harvard se saldó con la victoria de Princeton porque resulto más conveniente para la tecnología que había por aquel entonces disponible. Usar solo una unidad de memoria fue preferible debido a la inestabilidad de la electrónica en aquellos años (antes de que el uso de los transistores se hubiera extendido). Sencillamente una sola memoria tendría menos cosas que pudieran funcionar mal.

La arquitectura Harvard fue totalmente ignorada hasta finales de los años 70, cuando la fabricación de los microcontroladores hizo que esta arquitectura fuese más ventajosa para los diseños actuales.

La arquitectura Von Neuman tiene como ventaja que simplifica el diseño del chip ya que solo es necesaria una memoria. Para los microcontroladores esto supone que la RAM puede usarse tanto para variables como para instrucciones de programa. Y la ventaja para ciertos programas es que el "contador de instrucciones" esta accesible para el programa. Esto permite una gran flexibilidad en el desarrollo del software.

La arquitectura Harvard ejecuta instrucciones en menos ciclos de reloj que la Von-Neuman. Esto es debido a que mientras se esta ejecutando una instrucción el procesador ya puede estar leyendo la siguiente.

Este método de ejecución (paralelismo), como en las instrucciones RISC, también ayuda a las instrucciones a tomar menos tiempo de ejecución en los bucles y en partes críticas del programa.

Probablemente se pensará que la arquitectura Harvard es la ideal, pero en realidad carece de la flexibilidad de la Princeton en operaciones requeridas para ciertas aplicaciones.

Page 65: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.62

La idea es más que demostrar que una arquitectura es mejor que otra, es ser conscientes de las diferencias, ventajas y desventajas de cada una de ellas para situaciones concretas.

6.9 Tipos de Memorias

Se clasifican en 3 tipos básicos:

Memoria de programa: es solo de lectura, empleada para almacenar el programa y tablas de datos que no cambiarán a lo largo de la ejecución del mismo.

Área de variables: usada para almacenar temporalmente valores o parámetros a usar durante la ejecución del programa.

Registros que interactúan con el hardware: son 2, los registros internos del procesador y los registros usados para controlar los dispositivos externos.

Memoria de programa

Puede ser de varios tipos, PROM, EPROM, EEPROM (también llamada "flash") y ROM. Todos estos tipos de memoria son de las llamadas "no volátiles", que significa que su contenido permanece incluso aunque desconectemos la alimentación. El uso de estas memorias es debido a que el microcontrolador no tiene sistemas de almacenamiento masivo (diskette, disco duro etc.), para cargar el programa en el arranque.

Durante la ejecución, las instrucciones del programa son leídas desde la memoria, y la unidad decodificadora de instrucciones de proceso ejecuta el código de las instrucciones.

Esta memoria no puede ser reprogramada durante la ejecución del programa, lo que significa que el microcontrolador se dedica a ejecutar una aplicación hasta que es borrada (si es posible) y programada con un nuevo juego de instrucciones.

Otro aspecto a señalar con varios microcontroladores, es que el tamaño del BUS (8, 16 o 32 bits) es para el BUS de datos. En las arquitecturas Harvard, la memoria de programa puede ser bastante holgada para permitir que una instrucción completa (con datos incluidos) pueda ser leída en un solo ciclo.

En las arquitecturas Princeton, el tamaño del BUS es frecuentemente también el tamaño del camino de los datos. En el microcontrolador 68HC05 de Motorola, una instrucción de 24 bits es almacenada en 3 grupos de 8 bits y requiere 3 lecturas antes de poder ser ejecutada.

Cuando nos refiramos a un dispositivo de 8 bits, nos estaremos refiriendo al tamaño de la palabra de datos que el microcontrolador puede procesar.

Page 66: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.63

ROM: memoria de solo lectura (Read only memory). Es el termino empleado para designar la memoria que contiene código implementado en el interior del microcontrolador durante su fabricación. Por lo tanto no puede ser alterada con posterioridad para ser reprogramada. Se utiliza a nivel industrial para fabricar partidas de microcontroladores dedicados a tareas muy concretas, con un programa previamente comprobado. Resulta la opción más económica para fabricar partidas grandes de microcontroladores dedicados a tareas concretas. ya que no precisarán ser programados, lo cual supone un ahorro de tiempo y de dinero.

PROM: memoria programable. Se programa eléctricamente, pero solo puede ser programada una vez. Consiste en una especie de fusibles que pueden ser quemados eléctricamente, pero no pueden ser restituidos a su estado original.

EPROM: memoria programable y borrable (Erasable PROgramable memory). Es una memoria que se puede programar eléctricamente y se puede borrar usando para ello una fuente de rayos ultravioleta (UVA). Actualmente se construyen con transistores MOS. Se programan suministrando una señal de alto voltaje en una determinada patilla, tras seleccionar la celdilla de la memoria que queremos programar. Se distribuyen en encapsulados cerámicos con una ventana de cuarzo que permite borrarla con una fuente de rayos UVA.

EEPROM: memoria programable y borrable eléctricamente (Electrically Erasable Programable Memory). En este caso la memoria se puede programar y borrar eléctricamente, lo que resulta mucho más cómodo, rápido y económico que el uso de una lámpara UVA. Este tipo de memoria permite re-programar el microcontrolador sin necesidad de extraerlo del circuito, lo que se conoce comúnmente como ISP (in-system programming), no confundir con SPI que es un protocolo de comunicaciones serie.

No obstante la memoria EEPROM es más cara que EPROM y además más lenta.

Cabe señalar la existencia frecuente de confusión entre EEPROM y FLASH.

La memoria FLASH es similar a la EEPROM pero difiere principalmente en la manera en que las celdillas de la memoria son borradas.

En la EEPROM los circuitos de borrado son únicos para cada celdilla de memoria, mientras que en la FLASH, estos circuitos son comunes a un bloque de celdillas en la memoria.

Si se necesita cambiar el contenido de una celdilla en una memoria FLASH, se tendrá que reprogramar un cierto número de celdillas, mientras que en una EEPROM no será necesario reprogramar toda la memoria.

Page 67: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.64

Memoria del área de variables

Si se observa que el datasheet (hoja de especificaciones) de un microcontrolador, se podrá notar lo pequeña que es el área de memoria RAM. Aunque en los primeros microcontroladores esta área era de unas pocas decenas de bits.

Ya es frecuente encontrarnos con microcontroladores que contienen varios miles de bits, incluso cientos de miles.

Si diseñan programas para PC, se pensará como es posible que se desarrollen programas con tan poca memoria de trabajo (RAM). Las variables pueden medirse en miles de bytes y si trabajamos con matrices estas cifras se disparan.

Entonces ¿cómo se puede trabajar con áreas de memoria RAM de tan solo 68 bytes? por ejemplo.

Siguiendo ciertas reglas se comprobará que no es tan complicado desarrollar programas contando con tan escasa (en apariencia) cantidad de memoria.

Siempre que sea posible, los datos que no cambien no se almacenarán en variables, y las características del hardware (contadores, registros de índices.) se usarán para evitar el consumo innecesario de zonas de la RAM.

Stack o pila

Es una estructura de memoria dentro de los microcontroladores que sirve para almacenar puntos de retorno en llamadas a rutinas o interrupciones.

Los datos entran y salen de la pila según el método LIFO, es decir el último en entrar, el primero en salir.

Esta pila tiene por supuesto un número finito de posiciones que podemos almacenar, así que en el momento de realizar un programa tendremos que tener en cuenta esto cuando implementemos llamadas a subrutinas.

Ya que si nos excedemos en el número de llamadas anidadas a subrutinas, la pila no podrá almacenar las direcciones de retorno y el programa no funcionará correctamente.

Page 68: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.65

Memoria de registros que interactúan con el hardware (área E/S)

Como todos los ordenadores, los microcontroladores disponen de un cierto número de registros que son usados para controlar el hardware conectado al micro.

Estos registros pueden ser:

• registros del procesador: acumuladores, registros de estado, registros de índice.

• registros de control de ejecución: control de interrupción, control de contadores.

• registros de entrada-salida: paralelo, serie, analógicos, datos.

Estos registros pueden ser accedidos de diversas maneras. En los sistemas RISC, todos los registros tienen una dirección concreta. Esto permite mucha más flexibilidad en la operación del procesador.

Obviamente si se dispone de un procesador que pueda operar directamente con cualquier registro del Microcontrolador, será una ventaja en el desarrollo de una aplicación simple.

Otro aspecto del acceso de los registros es entender donde están localizados. En algunos procesadores, todos los registros y la RAM están localizados en el mismo espacio de memoria. Esto significa que el espacio de programa se mezcla con los registros y es conocido como "mapa de memoria E/S".

El área de E/S (Entradas/Salidas) puede estar en un área de memoria separada, que es denominada "espacio E/S" y está separado de la memoria de programa.

La ventaja de ubicar el área de "registros E/S" en una memoria separada es que permite programas más simples. Las funciones de entrada-salida tienden a requerir pequeños bloques de direcciones de registros, que pueden hacer más complicadas las funciones de decodificación, cuando nos encontramos con grandes bloques de programa y variables.

Page 69: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.66

Un espacio E/S separado también ofrece algunas ventajas en la arquitectura Princeton, en la que permite la búsqueda de una instrucción, mientras los registros E/S son accedidos.

A estas alturas se puede pensar que se tenga la sensación de que la arquitectura Harvard, con los registros y las variables situadas en un solo espacio de memoria es el más eficiente. Y ciertamente así es, pero esto no significa que la arquitectura Princeton no resulte más eficaz en ciertas aplicaciones.

Memoria externa

A pesar de las extraordinaria ventaja que supone disponer en un microcontrolador de todas las memorias necesarias, en su interior (programa, RAM...) hay ciertas aplicaciones en las que será necesario o recomendable disponer de una memoria extra externa al micro.

Hay 2 modos básicos de hacer esto. El primero es añadiendo memoria al microcontrolador, como si este fuese un microprocesador. Muchos microcontroladores están diseñados para poder realizar está operación fácilmente.

La segunda es añadiendo un "interface" o bus de memoria externo y controlándolo por medio del bus E/S por programa. Esto permitirá dispositivos simples de E/S sin complejos "interfaces bus".

Page 70: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.67

CAPITULO 7 COMUNICACIÓN SERIAL

7.1 Antecedentes

Desde la aparición del PC, los puertos paralelo y serie han desempeñado idénticas tareas de conexión y comunicación. Aunque el aspecto de sus conectores y cables no lo sugiera, el funcionamiento de los puertos de comunicaciones han evolucionado y mejorado progresivamente. Mediante la incorporación de nuevos sistemas de transmisión y un mejor control del flujo de datos, estos puertos continúan desarrollando su importante misión sin demasiados problemas. Los puertos son puntos de conexión que facilitan la entrada y salida de información del PC desde y hacia periféricos y dispositivos externos. Los puertos de conexión pueden ser de entrada, de salida ó bidireccionales. Entre los distintos puertos de entrada y salida (E/S) que puede incorporar una PC figuran los puertos de comunicaciones, es decir los que establecen enlaces temporales con otros dispositivos para intercambiar datos. Las funciones de los puertos de comunicaciones son muy parecidas a las que desempeñan los buses de datos. Para apreciar la diferencia entre ambos, puede tomarse como ejemplo el modo en que la información fluye por un bus de datos y compararlo con la forma en que se comunica un grupo de personas reunidas en una habitación. En cualquier momento una de estas personas puede pedir su turno y empezar a hablar mientras el resto de los integrantes del grupo actúan como oyentes, atendiendo a sus explicaciones, hasta que termine o algún otro participante lo interrumpa. Si en algún caso este grupo de personas necesita hacer una consulta a un individuo que está en otra ciudad, empleará un teléfono para comunicarse. Podrán llamarle, hablar con él, escuchar sus aportaciones y, por último, colgar cuando haya finalizado la conversación. En un PC los encargados de establecer este tipo de comunicación temporal con el exterior son los mencionados puertos de comunicaciones. Los términos comunicación temporal y conexión temporal, aplicados a la relación que se establece entre dos dispositivos, pueden inducir a error aunque su significado esté bien claro. La comunicación entre dos dispositivos indica su capacidad para transmitir datos. Que esta comunicación sea de tipo temporal significa que no existe un flujo de transmisión constante sino que, por el contrario, se transmite información solamente cuando uno de los dispositivos lo necesita. En este caso se inicia la comunicación, se transmiten y reciben datos, y se cierra la conexión una vez terminada. Por otra parte, la conexión de dos dispositivos hace referencia al soporte o medio físico sobre el que se efectúa la comunicación. Esto explica que, por regla general, un puerto de comunicaciones pueda establecer una comunicación temporal con un periférico, aunque debe tenerse en cuenta que no debe desconectarse nunca del ordenador al terminar la comunicación sin antes haber apagado los dispositivos conectados.

Page 71: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.68

Modos de transmisión de los Puertos La transmisión, a través de un puerto de comunicaciones, de los datos que componen la información como ya se mencionó puede efectuarse en modo paralelo ó serie. Ambos modos se diferencian por la forma en que transmiten los datos a través del soporte físico de la comunicación. Una comunicación en serie emplea una única línea de datos por la que se transmiten, de forma sucesiva, los bits que componen la información en formato digital. Una comunicación de este tipo transmite un bit en cada ciclo de reloj. Por el contrario, una comunicación en paralelo emplea varias líneas de datos que permiten transmitir, paralelamente, diversos bits, uno por cada línea. En consecuencia, transmite varios bits en cada ciclo de reloj, siempre en función de las líneas de datos que integre. Por ejemplo, una comunicación en paralelo que cuente con ocho líneas de datos podrá enviar en cada ciclo de reloj un byte (8bits). En definitiva, la transmisión en paralelo es mucho más rápida aunque, en determinados casos, puede ser más efectiva una comunicación en serie. Ninguno de estos tipos de transmisión puede calificarse como mejor o peor que el otro, dado que ambos se complementan a la perfección asumiendo trabajos bien diferenciados. Por regla general, las PC’s integran dos puertos serie de comunicaciones más uno de tipo paralelo, aunque los equipos de nueva creación ya integran, de forma generalizada, dos puertos USB.

Las particulares características de ambos modos de transmisión provocan que, en función de las necesidades del dispositivo que va a conectarse, debe emplearse un puerto serie o el paralelo. La velocidad de transmisión que se consigue mediante el puerto paralelo hace que sea la mejor opción para conectar una impresora, un escáner, o cualquier otro dispositivo que genere un gran volumen de datos que haya que transmitir. Considerando este hecho, sorprende que los periféricos o dispositivos externos empleen el puerto serie, más lento, en lugar de utilizar una transmisión en paralelo. Que una transmisión en paralelo emplee, simultáneamente, varias líneas de transmisión y recepción de datos, hace que deban emplearse muchos más hilos o cables para establecer la comunicación. Esta particularidad redunda en un aumento de la complejidad y el precio del medio de transmisión, el cable, al mismo tiempo que crece el riesgo potencial de sufrir problemas con el conector, interferencias eléctricas, etc. En consecuencia, las comunicaciones en paralelo suelen emplearse para conectar dispositivos situados a poca distancia y que requieren una capacidad de transferencia mayor que la que aporta una conexión serie.

Page 72: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.69

La longitud máxima de un cable de conexión paralelo de alto rendimiento es de aproximadamente 2 metros, mientras que un cable serie puede llegar a superar, en determinados casos, los 60 metros.

Esquema de Transmisión en Serie

La transmisión en serie emplea una única línea de datos como medio de comunicación. La información se descompone en bits que pueden transmitirse, con facilidad y rapidez, por dicha línea. Al llegar al destino, los bits transmitidos se reagrupan y forman el dato inicial.

Información transmitida

Información que desea

transmitirse

0 1 1 Receptor

Emisor

0 0 1 0

1 1 0 0 1 0 0 0

0 1 0 1 0 0 1 0

0 0 0 0 1 0 1 1

0

Page 73: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.70

7.2 Comunicaciones con el puerto serie

La transmisión en serie como se mencionó en los antecedentes de este capítulo es un medio de comunicación popular entre las computadoras, se emplea una única línea de datos como medio de comunicación. La información se descompone en bits que pueden transmitirse, con facilidad y rapidez, por dicha línea. Al llegar al destino, los bits transmitidos se reagrupan y forman el dato inicial. Es utilizado para bajas transferencias o largas distancias, regularmente solo es necesario el cable de conexión ya que la mayoría de las computadoras incluye un puerto serial.

En esta comunicación la forma de enviar datos en general es la siguiente:

• Al inicio de cada transmisión se envía un bit (starbit) que señale que se va a mandar un dato.

• Después se manda el dato empezando del bit menos significativo (LSB), importante para transmisión del dato se usa lógica negada.

• Después opcionalmente se manda un bit de paridad (Parity bit) que es el que se encarga de verificar errores.

• Al final de la transmisión se entra el bit de paro (Stop bit) indicando esta. Para Interpretar una lectura del puerto serial, lograr una mejor comprensión del protocolo de transmisión serial y determinar el patrón correcto de transmisión para enviar un caracter en hexadecimal. Ejemplo1: Imagine que se monitorea una línea . El siguiente flujo de bits ha sido capturado:

1 1 0 1 0 1 0

Page 74: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.71

Como se ve en el ejemplo leyendo de izquierda a derecha, al comenzar esta el bit de inicio seguido del bit menos significativo(LSB) que es 1 siguiéndole 1 y así sucesivamente asta 1101010 pero esta cantidad el ordenador la lee de derecha a izquierda que es 0101011, que en hexadecimal es 2B. Ejemplo2: Se dibuja la secuencia de transmisión para enviar el caracter hexadecimal 55., se asumen 8 bits de datos paridad par y un bit de paro. El primer bit es el bit menos significativo (LSB).

Arquitectura de comunicación serial

Page 75: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.72

La conexión de hardware para las comunicaciones seriales RS-232, RS422 y RS485 son: RS-232: Configuración DTE o DCE. Se usa 9 o 25 Pines. Referenciado sencillo a tierra. Una línea de transmisión (TXD) Una línea de recepción (RXD) Solo hay posibilidad de un instrumento por Puerto. RS-422: Configuración DTE o DCE. Se usa 8 Pines. RS-485: Multielementos

Es una mejora sobre RS-422 Señal Diferencial (TXD+/-, RXD+/-) Hasta 32 dispositivos Conectores de 9, 10, 25-pines Inmunidad al Ruido Distintos modos de transreceiver (Full-Duplex & Half-Duplex) Debe de ser terminado apropiadamente

Características de Comunicación RS-232 La asociación de la industria electrónica ( EIA ), ha desarrollado normas para datos de comunicación. Las normas de la ( EIA ) donde originalmente marcó con el prefijo “ RS ”. “ RS “ significa que es una norma recomendada, pero las normas son ahora generalmente indicadas como norma “ EIA “. El RS-232 fue introducido en 1962. La norma evolucionó durante los años y tuvo su tercera revisión en 1969 ( RS-232C ). La cuarta revisión fue en 1987 ( RS-232D también conocida como EIA-232D ). RS-232 son una interface de circuito de voltaje bidireccional (lleno-doble) de comunicación representada por niveles de voltaje con respecto al sistema conectado a tierra (común). Una tierra común entre la PC y el dispositivo asociado es necesario.

Page 76: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.73

La distancia máxima del cable serial está definida: 75 ft en 9,600 bps. Ahora los cables son usados arriba de los 1000 ft. DTE ( Equipo Terminal de Datos ) usados por computadoras, terminal e impresoras. DCE ( Equipo de Comunicación de Datos ) usado por modems y algún otro equipo. El equipo terminal de datos DTE ( una computadora común ) está equipada con un subconector macho D. El equipo de comunicación de datos DCE está equipado con un subconector hembra. Estas diferencias determinan qué señal de un dispositivo espera en cada terminal. Cualquier dispositivo se configura como un DTE ó un dispositivo de DCE. Los cables entre DTE y DCE son diferentes de los cables entre DCE y los dispositivos de DCE. El “ 1 “ lógico ( marca ) está representado por un voltaje negativo de 3V a –25V. El “ 0 “ lógico ( espacio ) está representado por un voltaje positivo de +3V a +25V. La interface está solo terminada (conectando sólo dos dispositivos entre sí ). El dato de velocidad es menos de 20kbps. La longitud del cable no debe rebasar los 16 m ( 50 ft ). El conector es un subconector D de 25 terminales ( para posible sincronía de comunicación ) ó un subconector D de 9 terminales ( subconjunto para comunicación asíncrona ). Con comunicación asíncrona los bits de dato serial no están asegurados con un específico reloj en la terminal receptora. Los bits son sincronizados por el reloj transmisor en el envío terminal. Antes de comenzar el desarrollo de una aplicación que implemente comunicaciones serie, resulta útil hacer una breve descripción del funcionamiento básico de la propia interconexión RS-232. Las señales disponibles en un conector RS-232 están pensadas únicamente para asegurar la correcta transmisión y recepción de datos desde un equipo denominado DTE (Data Terminal Equipment-Equipo Terminal de Datos) a un DCE (Data Comunication Equipment-Equipo de comunicación de Datos). Un DTE es generalmente un ordenador y un DCE un MODEM. El enlace estándar entre un DTE y un DCE se puede observar en la figura.

Page 77: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.74

DTE DCE

TxD 2 2

RxD 3 3

RTS 4 4

CTS 5 5

DSR 6 6

7 7

DCD 8 8

DTR 20 20

RI 22 22

La función de cada señal es la siguiente: Señal Nombre Dirección Función TxD Transmitted Data Hacia

DCE Salida de datos DTE.

RxD Received Data Hacia DTE Entrada de datos DTE.

RTS Request to Send Hacia DCE DTE desea cambiar a modo transmisión.

CTS Clear to Send Hacia DTE DCE listo para transmitir.

DSR Data Set Ready Signal Common

Hacia DTE

DCE listo para comunicar con DTE Línea común del circuito (masa).

DCD Data Carrier Detect Hacia DTE Detectar si está conectado.

DTR Data Terminal Ready Hacia DCE Pone a trabajar al periférico o dispositivo externo

RI Ring Indicator Hacia DTE Anuncia una llamada

Page 78: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.75

TxD se encarga de transportar los datos serie hasta el periférico o dispositivo externo. Para ello, han tenido que activarse RTS, CTS, DSR y DTR. RxD, recepción de datos, no depende de ninguna otra función RS-232. RTS tiene como misión conmutar un periférico o dispositivo externo semi-dúplex entre modos de recepción y transmisión. Cuando el DTE quiere transmitir, informa al periférico o dispositivo externo de su deseo activando esta patilla. Cuando el periférico o dispositivo externo conmuta para transmisión, lo informa al DTE activando la pastilla CTS, indicando que ya puede enviar los datos. El periférico o dispositivo externo origen no transmite ni activa su DSR hasta recibir el tono de respuesta del periferico o dispositivo externo remoto. DCD, detección de señal de línea recibida, se activa cuando el periférico o dispositivo externo recibe una portadora remota. En periféricos o dispositivos externos semi-dúplex, evidentemente, DCD se activa únicamente en el periférico o dispositivo externo receptor. Una vez que el periférico o dispositivo externo esté conectado a la línea, DTR deberá permanecer activa mientras dure la conexión; si se inhibe, se produce la desconexión, interrumpiendo bruscamente el enlace. Además del enlace estándar, existen otros, como la conexión denominada periférico o dispositivo externo nulo (cable de seis hilos), utilizada generalmente para transferir ficheros entre dos ordenadores. Esta conexión, como su nombre lo indica, no es en absoluto un periférico o dispositivo externo, sino una conexión directa entre dos ordenadores ( DTE ) para comunicarse siguiendo las reglas lógicas del RS-232. Otra solución para la comunicación DTE-DTE más sencilla todavía, es la conexión de dos hilos ( TxD y RxD ).

De todo esto se puede deducir que para que exista una comunicación entre dos equipos tiene que haber un acoplamiento entre ellos. El acoplamiento puede realizarse por software ó por hardware. El acoplamiento hardware sólo es posible si ambos equipos están físicamente conectados mediante las señales DTR/DSR ó bien utilizando simplemente las señales secundarias RTS/CTS. El acoplamiento software no siempre es posible, ya que para que pueda darse, los equipos deben reconocer caracteres de control. En un acoplamiento software es el receptor el que controla el acoplamiento.

Page 79: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.76

Lo hace de la forma siguiente: ° Cuando su cola de entrada está llena, envía un carácter de desconexión (normalmente ASCII_XOFF-&H13). ° Cuando el transmisor recibe este carácter se detiene. ° Cuando la cola de entrada del receptor puede recibir más caracteres, envía un carácter de conexión (normalmente ASCII_XON-&H11). ° Cuando el transmisor recibe este carácter reinicia el envío de caracteres.

Cuando una aplicación solicita a Windows la propiedad de un puerto, Windows sólo se lo dará si ninguna otra aplicación lo tiene. Por el mismo motivo, mientras su aplicación tiene el control de un puerto, Windows se lo prohíbe a las demás aplicaciones que lo soliciten.

Cuando su aplicación finalice la operación de E/S con un puerto, debe dejar el control del mismo para que otras aplicaciones puedan utilizarlo, lo cual requiere llamar a la función que permite cerrar el puerto. Para establecer una comunicación, de forma general debe seguir los siguientes pasos:

1. Abrir el puerto de comunicaciones ( COM1, COM2, etc. ). 2. Establecer la máscara de comunicaciones para especificar los eventos que serán

atendidos.

3. Definir el tamaño de los buffers de las colas de entrada y salida.

4. Construir una estructura de tipo DCB que especifique la configuración del puerto ( DCB- Device Control Block ). Esta estructura contiene, entre otros, los datos, velocidad de transmisión, paridad, bits por carácter y bits de parada.

5. Configurar el puerto con los datos de la estructura del tipo DCB.

6. Enviar datos al puerto de comunicaciones.

7. Recibir datos por el puerto de comunicaciones.

8. Verificar errores. 9. Cerrar el puerto cuando la comunicación haya finalizado.

Page 80: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.77

Para probar la aplicación, debe conectar vía puerto de comunicaciones los dos ordenadores. Una vez realizada la conexión, asegúrese de que está bien hecha utilizando un paquete de comunicaciones comercial, como el programa Conexión directa por cable de Windows.

7.3 Control de comunicación serial con Visual Basic

Visual Basic es una herramienta de programación fácil de manejar para la plataforma Microsoft Windows. Su modo de trabajar con los puertos es por medio de las direcciones de estos. La computadora Personal (PC) puede direccionar hasta 64Kb puertos de E/S. Cada puerto se designa por un número. A continuación se listan las direcciones en hexadecimal de los puertos más usuales de E/S.

Direcciones de puertos más usuales de E/S Dirección

Desde Hasta

Descripción

000 00F Controlador de DMA (acceso directo a memoria)

020 02F Controlador de interrupciones maestro

030 03F Controlador de interrupciones esclavo

040 043 Temporizador

060 060 Teclado

061 061 Altavoz

170 17F Primer disco duro

200 20F Puerto de juegos

278 27F Tercer puerto paralelo LPT3

2E8 2EF Puerto serie 4 COM4

2F8 2FF Puerto serie 2 COM2

370 377 Controla Controlador de disco flexible

378 37F Segundo puerto paralelo LPT2

3B0 3BB Adaptador de vídeo monocromo

3BC 3BF Primer puerto paralelo LPT1

3E0 3EF Puerto serie 3 COM3

Page 81: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.78

3F8 3FF Puerto serie 1 COM1

220 22F Usualmente las tarjetas de sonido Visual Basic incluye un control personalizado, Microsoft Communications Control,, que permite establecer una comunicación serie entre máquinas, basada en el estándar RS-232(Puerto series), de una forma rápida y sencilla. Para poder utilizar este control en una aplicación, hay que añadir al proyecto el control Actives mscomm32.ocx para aplicaciones de 32 bits. Este control tiene los eventos y propiedades siguientes:

Eventos OnComm Propiedades

Break CDHolding CommEvent CommID CommPort CTSHolding DSRHolding DTREnable EOFEnable Handshaking InBufferCount InBufferSize Index Input InputLen InputMode Name NullDiscard Object OutBufferCount OutBufferSize Output Parent ParityReplace PortOpen Rthreshold RTSEnable Settings SThreshold Tag

Se debe analizar el proceso de cómo el sistema operativo Windows trabaja con una aplicación con el puerto Serial para la mejor comprensión de la programación. Cuando una aplicación solicita a Windows la propiedad de un puerto, Windows sólo se lo dará si ninguna otra aplicación lo tiene. Por el mismo motivo, mientras su aplicación tiene el control de un puerto, Windows se lo prohíbe a las demás aplicaciones que lo soliciten.

Cuando su aplicación finalice la operación de E/S con un puerto, debe dejar el control del mismo para que otras aplicaciones puedan utilizarlo, lo cual requiere llamar a la función que permite cerrar el puerto. Para establecer una comunicación, de forma general debe seguir los siguientes pasos:

1. Abrir el puerto de comunicaciones ( COM1, COM2, etc. ).

2. Establecer la máscara de comunicaciones para especificar los eventos que serán atendidos.

3. Definir el tamaño de los buffers de las colas de entrada y salida.

Page 82: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.79

4. Construir una estructura de tipo DCB que especifique la configuración del puerto ( DCB- Device Control Block ). Esta estructura contiene, entre otros, los datos, velocidad de transmisión, paridad, bits por carácter y bits de parada.

5. Configurar el puerto con los datos de la estructura del tipo DCB.

6. Enviar datos al puerto de comunicaciones.

7. Recibir datos por el puerto de comunicaciones.

8. Verificar errores.

9. Cerrar el puerto cuando la comunicación haya finalizado.

Estas instrucciones pueden variar dependiendo de la complejidad del programa. A continuación, se dará un ejemplo de cómo utilizar el mscomm utilizando algunos de los pasos anteriormente mencionados. Sitúe sobre el formulario creado por omisión los controles con las propiedades que se especifican a continuación:

Objeto Propiedad Valor Etiqueta Caption Texto a transmitir:

Caja de texto Name Multiline

ScrollBars

TxtTX True

2-Vertical Etiqueta Caption Texto recibido:

Caja de texto Name Multiline

ScrollBars

TxtRX True

2-Vertical Botón de pulsación Name

Caption Cmdinicio

&inicio Botón de pulsación Name

Caption Cmenviar &enviar

Para utilizar el control de comunicaciones lo que vamos a hacer es establecer una referencia al mismo en lugar de colocar dicho control sobre el formulario (simplemente para que aprenda otra forma de proceder). Para ello, ejecute la orden Referencias del menú Proyecto. A continuación, en el diálogo que se visualiza haga clic en el botón Examinar y seleccione el fichero mscomm32.ocx. Después haga clic en aceptar.

Page 83: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.80

Una vez que haya añadido al formulario una referencia a MSComm, abra su ventana de código y añada la siguiente línea:

Private WithEvents Puertocom As MSComm En la declaración anterior, WithEvents especifíca que la variable PuertoCom se utilizará para controlar los eventos de un objeto MSComm, ¿qué objeto? El referenciado por dicha variable. Para ello, edite el procedimiento Form_load como se muestra enseguida: Private Sub Form_Load ( ) Crear un objeto MSComm Set PuertoCom=New MSComm End Sub Ahora, con le objeto MSComm referenciado por PuertoCom, podemos acceder a cualquier puerto serie. Por ejemplo, para especificar que deseamos utilizar el puerto COM2 escribiríamos una subrutina: Private Sub cmdinicio_Click() PuertoCom.CommPort=2 O para el COM1: PuertoCom.CommPort=1 Para que funcione correctamente este objeto se debe configurar la velocidad en baudios, la paridad, cuantos bits por mensaje y paradas PuertoCom.Settings = "115200,N,8,1" 'este ejemplo se lee velocidad 115200 baudios,No paridad, 8 bits (l byte),1parada. Despues se debe llamar el control de lectura de entrada del buffer y darle el valor de cero. PuertoCom.InputLen = 0 Generar el evento de caracter Recibido PuertoCom.RThreshold = 1 Y por ultimo hacer la instrucción para abrir el puerto PuertoCom.PortOpen = True End Sub Aqui y lustramos un ejemplo de como poder poner trabajar esta herramienta para el control.

Page 84: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.81

Private Sub PuertoCom_OnComm() Dim v1 As Single Dim accion As String While (PuertoCom.InBufferCount > 0) 'mientras el puerto serial este contando que sea mayor a cero se realiza lo siguiente txtentrante = PuertoCom.Input txtentrante es igual a lo que entra por el puerto serial. v1 = Asc(txtentrante) 'Igualamos el valor entrante con una variable

If v1 = 1 Then 'Y generamos las condiciones TxtRX.caption= “dato recibido” 'en este caso si el valor de entrante es igual con uno se exhibirá el mensaje “correcto valor recibido” en el label 1 End If End Sub Private Sub cmdinicio_Click() 'esta es la subrutina para enviar 1 por el puerto serial

serial.Output = 1 TxtTX.caption= “correcto envío”

Para probar la aplicación, debe conectar vía puerto de comunicaciones los dos ordenadores. Una vez realizada la conexión, asegúrese de que está bien hecha utilizando un paquete de comunicaciones comercial, como el programa Conexión directa por cable de Windows. Nota: Asimismo, si abre la lista Objeto en la ventana de código, observará el objeto PuertoCom ( Control de comunicaciones ). Si lo selecciona, puede observar en la lista Procedimiento el evento OnComm. Este evento se genera siempre que cambia el valor de la propiedad CommEvent para indicar que se ha producido un evento ó un error en la comunicación. La propiedad CommEvent contiene la constante numérica correspondiente al evento ó al error que se ha generado.

Page 85: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.82

Visual Basic incluye un control personalizado, Microsoft Communications Control,, que permite establecer una comunicación serie entre máquinas, basada en el estándar RS-232, de una forma rápida y sencilla. Para poder utilizar este control en una aplicación, hay que añadir al proyecto el control Actives mscomm32.ocx para aplicaciones de 32 bits. Este control tiene los eventos y propiedades siguientes:

Eventos OnComm Propiedades

Break CDHolding CommEvent CommID CommPort CTSHolding DSRHolding DTREnable EOFEnable Handshaking InBufferCount InBufferSize Index Input InputLen InputMode Name NullDiscard Object OutBufferCount OutBufferSize Output Parent ParityReplace PortOpen Rthreshold RTSEnable Settings SThreshold Tag

A continuación, sitúe sobre el formulario creado por omisión los controles con las propiedades que se especifican a continuación:

Objeto Propiedad Valor Etiqueta Caption Texto a transmitir:

Caja de texto Name Multiline

ScrollBars

TxtTX True

2-Vertical Etiqueta Caption Texto recibido:

Caja de texto Name Multiline

ScrollBars

TxtRX True

2-Vertical Botón de pulsación Name

Caption CmdEnviar

&Enviar Barra de estado Name

Style StatusBar1 1-sbrSimple

Para utilizar el control de comunicaciones lo que vamos a hacer es establecer una referencia al mismo en lugar de colocar dicho control sobre el formulario (simplemente para que aprenda otra forma de proceder ).

Page 86: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.83

Para ello, ejecute la orden Referencias del menú Proyecto. A continuación, en el diálogo que se visualiza haga clic en el botón Examinar y seleccione el fichero mscomm32.ocx. Después haga clic en aceptar. Una vez que haya añadido al formulario una referencia a MSComm, abra su ventana de código y añada la siguiente línea:

Private WithEvents Puertocom As MSComm En la declaración anterior, WithEvents específica que la variable PuertoCom se utilizará para controlar los eventos de un objeto MSComm, ¿qué objeto? El referenciado por dicha variable. Para ello, edite el procedimiento Form_load como se muestra enseguida: Private Sub Form_Load ( ) Crear un objeto MSComm Set PuertoCom=New MSComm End Sub Ahora, con le objeto MSComm referenciado por PuertoCom, podemos acceder a cualquier puerto serie. Por ejemplo, para especificar que deseamos utilizar el puerto COM2 escribiríamos: PuertoCom.CommPort=2 Asimismo, si abre la lista Objeto en la ventana de código, observará el objeto PuertoCom ( Control de comunicaciones ). Si lo selecciona, puede observar en la lista Procedimiento el evento OnComm. Este evento se genera siempre que cambia el valor de la propiedad CommEvent para indicar que se ha producido un evento ó un error en la comunicación. La propiedad CommEvent contiene la constante numérica correspondiente al evento ó al error que se ha generado.

Page 87: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.84

Conclusiones En la actualidad las pequeñas, medianas y grandes empresas empiezan a demandar mejores equipos, proceso, mayor efectividad y seguridad para sus trabajadores. Logrando así la intervención de la automatización y de la robótica en los procesos en donde las empresas tienen pérdidas por la falta de la productividad en sus haberes. Por ello nos hemos dado a la tarea de renovar esos métodos de producción utilizando un robot cartesiano controlado vía Internet, ya que pueden obtenerse demasiados beneficios al emplearlo. El funcionamiento de este robot dependerá en mayor parte del operario y la aplicación que se le otorgue al mismo. Con ello se logrará el aumento en la productividad y la mejoría en la calidad del producto al igual que se reducirán pérdidas y accidentes laborales. Evitando así la repetibilidad de acciones riesgosas para el ser humano. Con este proyecto se busca la protección del hombre en el lugar de trabajo, intentando reducir el contacto directo con los objetos ó sustancias tóxicas que pueden producir lesiones al ser humano. Poniendo en práctica las leyes de la robótica, las cuales nos indican que: 1.- Un robot no puede atentar ni exponer al ser humano a riesgos. 2.- Un robot debe obedecer las órdenes dadas por el ser humano, salvo si tales órdenes están en contradicción con la primera. 3.- Un robot debe proteger su existencia en donde esta protección no afecte las dos leyes anteriores.

Pensamos que el personal restante podrá ser reubicado en otro departamento para la agilización de los mismos. Y así se aprovechará en su totalidad los recursos con los que se cuentan. Creemos que así habrá un aumento de empleo gracias a la productividad y a la participación de todo el personal.

Page 88: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.85

Glosario de Términos

Androide. Robots que intentan reproducir total ó parcialmente la forma y el comportamiento cinemático del ser humano. Arquitectura. Se define por el tipo de configuración general del robot. Automatización. Sistema de fabricación diseñado con el fin de usar la capacidad de las máquinas para llevar a cabo tareas antes realizadas por el ser humano y para controlar las secuencias de operación sin intervención humana. Baudio. Bit por segundo Bobina. Denota una ó más vueltas de alambre de cobre separadas eléctricamente una de otra. Byte. Conjunto de bits que operan como una unidad, generalmente más corta que una palabra.. Calibración. Es el proceso mediante el que se establece la relación entre la variable medida y la señal de salida que produce el sensor.

Campo magnético. Es el número de líneas de fuerza que forman un flujo magnético. Se representa por la letra griega ( φ ), sus unidades son los webers. Equivale a la corriente eléctrica en un circuito eléctrico.

Conductividad. Es la característica que tienen todos los materiales de conducir la corriente eléctrica y es la inversa de la resistividad. Corriente: Es el movimiento ó desplazamiento de cargas eléctricas. Corriente alterna ( CA ). Es aquella que cambia de valores a instantes regulares de tiempo, empezando desde cero hasta un valor máximo y luego decrece hasta cero, circulando primero en un sentido y luego en sentido contrario empieza de cero a un máximo y regresa a cero, completando un ciclo.

Page 89: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.86

Corriente eléctrica. Es el flujo ó movimiento de cargas eléctricas en un circuito, originados por un presión llamada FEM. Corriente continua ( CC ). Es aquella que independientemente del valor de su intensidad, tiene siempre el mismo sentido. Densidad de campo. Es el número de líneas de fuerza magnética que pasan en la unidad de superficie, se representa por la letra griega ( β ) y sus unidades son las Teslas. Diodo. Rectificador constituido por una ampolla de vidrio en cuyo interior se ha hecho el vacío ó se ha introducido un gas, y que contiene dos electrodos metálicos: ánodo y cátodo. Elemento pasivo. Elemento que no suministra ganancia ni control (por ejemplo: un resistor ó un capacitor). Exactitud. Hace referencia a que se debe poder detectar el valor verdadero de la variable sin errores sistemáticos.

Fiabilidad. No debe estar sujeto a fallos inesperados durante su funcionamiento. Filtro. Es un dispositivo cuya finalidad es la de desaparecer las pulsaciones de la corriente continua en la resistencia de carga.

Fuerza magneto motriz ( f.m.m. ). Es la fuerza necesaria para originar ó crear un campo magnético, se representa por la letra griega ( ƒ ), sus unidades son el amper-vuelta ( A-V ).

Grados de libertad. Es un número ó tipo de movimiento del manipulador. Híbridos (Robots). Son aquellos de difícil clasificación cuya estructura se sitúa en combinaciones ó bien sea por conjunción ó por yuxtaposición. Intensidad de campo. Es la fuerza magneto motriz por unidad de longitud, se representa por la letra ( H ), sus unidades son el amper-vuelta por metro.

Page 90: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.87

Impedancia. Es la oposición total que encuentra una corriente alterna en un circuito eléctrico. Se representa con la letra ( Z ) y sus unidades son los ohms.

I P. Protocolo de Internet ( Internet Protocol ). Monolítico. De un solo bloque, que no está dividido entre varias tendencias. Móviles (Robots). Son robots con gran capacidad de desplazamiento Optoacoplador. Es un dispositivo semiconductor formado por un fotoemisor, un fotoreceptor y entre ambos hay un camino por donde se transmite la luz. Todos estos elementos se encuentran dentro de un encapsulado que por lo general es del tipo DIP. Permeabilidad. Es la capacidad de los materiales magnéticos para producir un campo magnético. Se representa por la letra griega ( µ ), su unidad es adimensional. Poliarticulados (Robots). Robot cuya característica común es la de ser básicamente sedentario, aunque puede ser guiado para efectuar desplazamientos limitados.

Protocolo. Establece una descripción formal de los formatos que deberán presentar los mensajes para poder ser intercambiados por los equipos de cómputo; además definen las reglas que ellos deben seguir para lograrlo.

Protocolo TCP / I P. Su objetivo fue que computadoras cooperativas compartieran recursos mediante una red de comunicación. Rango de funcionamiento. Capacidad de medir de manera exacta y precisa un amplio abanico de valores de la magnitud correspondiente. Rectificación. Consiste en que ciertos dispositivos llamados diodos, permiten pasar la corriente eléctrica en un solo sentido y en el otro presenten una gran resistencia que no permite que pase. Rectificador. Dispositivo usado para transformar la energía de CA en CC.

Page 91: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.88

Rectificador de media onda. Es aquel en donde la CA se le anula medio ciclo, permitiendo el paso de corriente únicamente en un solo sentido, impidiendo que la corriente pase en sentido contrario. Rectificador de onda completa. Es aquel que hace que la corriente alterna tanto la que impulsa el ciclo superior como la del inferior, pasa siempre en la resistencia de carga en un solo sentido. Reóstato. Es una forma de llamar a la resistencia variable Reluctancia. Es la oposición que presentan los diferentes medios de un circuito magnético por donde fluyen las líneas de fuerza magnética de un campo magnético. Se representa por la letra ( R ), su unidad es adimensional. Es comparable a la resistencia eléctrica que en todo circuito eléctrico existe. Resistencia. Es la que ofrece un material ó aparato al paso de corriente eléctrica y que es igual a la relación entre la diferencia de potencial entre los extremos del elemento y la intensidad de la corriente que lo atraviesa. Se representa por la letra ( R ) y sus unidades son los ohms ( Ω ). Robot. Máquina reprogramable multifuncional capaz de manipular objetos y realizar operaciones riesgosas que puedan dañar al ser humano. Robótica. Ciencia que aplica al diseño, construcción y control de mecanismos articulados ( Brazo mecánico, etc. ) apoyándose de otras ciencias como la mecánica, informática y la electrónica. Robotizar. Introducir robots a procesos industriales SCARA. Complacencia de brazo selectivo de robot Sensor. Son un tipo concreto de transductor que se caracteriza porque son usados para medir la variable transformada. Sensor analógico. Son en los cuales la señal de salida es una señal continua, analógica.

Page 92: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.89

Sensor digital. Son los que transforman la variable medida en una señal digital, a modo de pulsos ó bits. Servocontrol. Control automático de los mandos de un aparato ó máquina. Servomecanismo. Sistema mecánico de mando y regulación capaz de corregir automáticamente sus errores. Servosistema. Sistema de mando a distancia y control automático de aparatos ó máquinas. TCP. Transferencia de protocolo de control ( Transfer control Protocol ).

Terminal ( PIN ). Puntos donde se pueden hacer fácilmente a las conexiones a un aparato eléctrico.

Transistor. Proviene de la simplificación de las palabras inglesas transfer-resistor ( resistor de transferencia ), nombre que se tomó de los principios de funcionamiento que los rigen. Transductor. Dispositivo que convierte una magnitud física en otra distinta ( ejemplo: la potencia de una corriente eléctrica en potencia mecánica ó acústica ).

Voltaje. Es la diferencia de potencial eléctrico que existe entre dos puntos de un hilo de conductor que transporta una corriente de un amperio. Se representa por la letra ( V ) y sus unidades son los volts ó voltios.

Zoomórficos (Robots). Robots que constituyen a una clase caracterizada principalmente por sus sistemas de locomoción que imitan a los diversos seres vivos.

Page 93: TITULO DE LA TESIS: ROBOT CARTESIANO XYZ

ROBOT CARTESIANO XYZ

Pág.90

Bibliografía Curso de Control y Programación de Robots impartido por el Profesor Carlos Elvira Izurrategui . Curso de Microcontroladores Solaris. Curso de Sensores y Tratamiento de Señal impartido por la Universidad Politécnica de Cartagena. Electrónica Industrial Moderna J. Maloney, Timothy Motores a Pasos, Segunda Edición Editorial Prentice-Hall Hispanoamericana Artículo científico: Informática y Sociedad MIRAVET, Juan Salvador “Protocolos TCP/IP” Manual AVR de ATMEL Comunicación serial Manual ST SGS de Thomson micro electronics L298