You are on page 1of 118

INTRODUCCIN A LA ROBTICA

1.1 BREVE HISTORIA DE LA ROBTICA. Por siglos el ser humano ha construido mquinas que imiten las partes del cuerpo humano. Los antiguos egipcios unieron brazos mecnicos a las estatuas de sus dioses. Estos brazos fueron operados por sacerdotes, quienes clamaban que el movimiento de estos era inspiracin de sus dioses. Los griegos construyeron estatuas que operaban con sistemas hidrulicas, los cuales se utilizaban para fascinar a los adoradores de los templos. Durante los siglos XVII y XVIII en Europa fueron construidos muecos mecnicos muy ingeniosos que tenan algunas caractersticas de robots. Jacques de Vauncansos construy varios msicos de tamao humano a mediados del siglo XVIII. Esencialmente se trataba de robots mecnicos diseados para un propsito especfico: la diversin.

En 1805, Henri Maillardert construy una mueca mecnica que era capaz de hacer dibujos. Una serie de levas se utilizaban como el programa para el dispositivo en el proceso de escribir y dibujar. stas creaciones mecnicas de forma humana deben considerarse como inversiones aisladas que reflejan el genio de hombres que se anticiparon a su poca. Hubo otras invenciones mecnicas durante la revolucin industrial, creadas por mentes de igual genio, muchas de las cuales estaban dirigidas al sector de la produccin textil. Entre ellas se puede citar la hiladora giratoria de

Hargreaves (1770), la hiladora mecnica de Crompton (1779), el telar mecnico de Cartwright (1785), el telar de Jacquard (1801), y otros. El desarrollo en la tecnologa, donde se incluyen las poderosas computadoras electrnicas, los actuadores de control retroalimentados, transmisin de potencia a travs de engranes, y la tecnologa en sensores han contribuido a flexibilizar los mecanismos autmatas para desempear tareas dentro de la industria. Son varios los factores que intervienen para que se desarrollaran los primeros robots en la dcada de los 50s. La investigacin en inteligencia artificial desarroll maneras de emular el procesamiento de informacin humana con computadoras electrnicas e invent una variedad de mecanismos para probar sus teoras. No obstante las limitaciones de las mquinas robticas actuales, el concepto popular de un robot es que tiene una apariencia humana y que acta como tal. Este concepto humanoide ha sido inspirado y estimulado por varias narraciones de ciencia ficcin. Una obra checoslovaca publicada en 1917 por Karel Kapek, denominada Rossums Universal Robots, dio lugar al trmino robot. La palabra checa Robota significa servidumbre o trabajador forzado, y cuando se tradujo al ingles se convirti en el trmino robot. Dicha narracin se refiere a un brillante cientfico llamado Rossum y su hijo, quienes desarrollan una sustancia qumica que es similar al protoplasma. Utilizan sta sustancia para fabricar robots, y sus planes consisten en que los robots sirvan a la clase humana de forma obediente para realizar todos los trabajos fsicos. Rossum sigue realizando mejoras en el diseo de los robots, elimina rganos y otros elementos innecesarios, y finalmente desarrolla un ser perfecto . El argumento experimenta un giro desagradable cuando los robots perfectos comienzan a no cumplir con su papel de servidores y se rebelan contra sus dueos, destruyendo toda la vida humana. Entre los escritores de ciencia ficcin, Isaac Asimov contribuy con varias narraciones relativas a robots, comenz en 1939, a l se atribuye el acuamiento del trmino Robtica. La imagen de robot que aparece en su obra es el de una mquina bien diseada y con una seguridad garantizada que acta de acuerdo con tres principios. Estos principios fueron denominados por Asimov las Tres Leyes de la Robtica, y son: 1.- Un robot no puede actuar contra un ser humano o, mediante la inaccin, que un ser humano sufra daos. 2.- Un robot debe de obedecer las ordenes dadas por los seres humanos, salvo que estn en conflictos con la primera ley. 3.- Un robot debe proteger su propia existencia, a no ser que est en conflicto con las dos primeras leyes. Consecuentemente todos los robots de Asimov son fieles sirvientes del ser humano, de sta forma su actitud contraviene a la de Kapek. A continuacin se presenta un cronograma de los avances de la robtica desde sus inicios.

FECHA

DESARROLLO

SigloXVIII. A mediados del J. de Vaucanson construy varias muecas mecnicas de tamao humano que ejecutaban piezas de msica 1801 1805 1946 J. Jaquard invento su telar, que era una mquina programable para la urdimbre H. Maillardet construy una mueca mecnica capaz de hacer dibujos. El inventor americano G.C Devol desarroll un dispositivo controlador que poda registrar seales elctricas por medio magnticos y reproducirlas para accionar un mquina mecnica. La patente estadounidense se emiti en 1952. 1951 Trabajo de desarrollo con teleoperadores (manipuladores de control remoto) para manejar materiales radiactivos. Patente de Estados Unidos emitidas para Goertz (1954) y Bergsland (1958). 1952 Una mquina prototipo de control numrico fue objetivo de demostracin en el Instituto Tecnolgico de Massachusetts despus de varios aos de desarrollo. Un lenguaje de programacin de piezas denominado APT (Automatically Programmed Tooling) se desarroll posteriormente y se public en 1961. 1954 El inventor britnico C. W. Kenward solicit su patente para diseo de robot. Patente britnica emitida en 1957. 1954 G.C. Devol desarrolla diseos para Transferencia de artculos programada. Patente emitida en Estados Unidos para el diseo en 1961.

FECHA 1959 1960

DESARROLLO Se introdujo el primer robot comercial por Planet Corporation. estaba controlado por interruptores de fin de carrera. Se introdujo el primer robot Unimate, basada en la transferencia de artic. programada de Devol. Utilizan los principios de control numrico para el

control de manipulador y era un robot de transmisin hidrulica. 1961 Un robot Unimate se instal en la Ford Motors Company para atender una mquina de fundicin de troquel. 1966 1968 Trallfa, una firma noruega, construy e instal un robot de pintura por pulverizacin. Un robot mvil llamado Shakey se desarrollo en SRI (standford Research Institute), estaba provisto de una diversidad de sensores as como una cmara de visin y sensores tctiles y poda desplazarse por el suelo. 1971 1973 El Standford Arm, un pequeo brazo de robot de accionamiento elctrico, se desarroll en la Standford University. Se desarroll en SRI el primer lenguaje de programacin de robots del tipo de computadora para la investigacin con la denominacin WAVE. Fue seguido por el lenguaje AL en 1974. Los dos lenguajes se desarrollaron posteriormente en el lenguaje VAL comercial para Unimation por Vctor Scheinman y Bruce Simano. 1974 1974 1974 1975 ASEA introdujo el robot Irb6 de accionamiento completamente elctrico. Kawasaki, bajo licencia de Unimation, instal un robot para soldadura por arco para estructuras de motocicletas. Cincinnati Milacron introdujo el robot T3 con control por computadora. El robot Sigma de Olivetti se utiliz en operaciones de montaje, una de las primitivas aplicaciones de la robtica al montaje. 1976 Un dispositivo de Remopte Center Compliance (RCC) para la insercin de piezas en la lnea de montaje se desarroll en los laboratorios Charles Stark Draper Labs en estados Unidos. 1978 El robot T3 de Cincinnati Milacron se adapt y program para realizar operaciones de taladro y circulacin de materiales en componentes de aviones, bajo el patrocinio de Air Force ICAM (Integrated ComputerAided Manufacturing). Se introdujo el robot PUMA (Programmable Universal Machine for Assambly) para tareas de montaje por Unimation, basndose en diseos obtenidos en un estudio de la General Motors.

1978

1979

Desarrollo del robot tipo SCARA (Selective Compliance Arm for Robotic Assambly) en la Universidad de Yamanashi en Japn para montaje. Varios robots SCARA comerciales se introdujeron hacia 1981.

1980

Un sistema robtico de captacin de recipientes fue objeto de demostracin en la Universidad de Rhode Island. Con el empleo de visin de mquina el sistema era capaz de captar piezas en orientaciones aleatorias y posiciones fuera de un recipiente.

FECHA 1981

DESARROLLO Se desarroll en la Universidad de Carnegie- Mellon un robot de impulsin directa. Utilizaba motores elctricos situados en las articulaciones del manipula dor sin las transmisiones mecnicas habituales empleadas en la mayora de los robots.

1982

IBM introdujo el robot RS-1 para montaje, basado en varios aos de desarro llo interno. Se trata de un robot de estructura de caja que utiliza un brazo constituido por tres dispositivos de deslizamiento ortogonales. El lenguaje del robot AML, desarrollado por IBM, se introdujo tambin para programar el robot SR-1.

1983

Informe emitido por la investigacin en Westinghouse Corp. bajo el patrocinio de National Science Foundation sobre un sistema de montaje programable adaptable (APAS), un proyecto piloto para una lnea de montaje automatizada flexible con el empleo de robots.

1984

Robots 8. La operacin tpica de estos sistemas permita que se desarrollaran programas de robots utilizando grficos interactivos en una computadora personal y luego se cargaban en el robot.

1.2 AUTOMATIZACIN Y ROBTICA La historia de la automatizacin industrial est caracterizada por perodos de constantes innovaciones tecnolgicas. Esto se debe a que las tcnicas de automatizacin estn muy ligadas a los sucesos econmicos mundiales.

El uso de robots industriales junto con los sistemas de diseo asistidos por computadora (CAD), y los sistemas de fabricacin asistidos por computadora (CAM), son la ltima tend nal y luego se cargaban en el robot.encia en automatizacin de los procesos de fabricacin. stas tecnologas conducen a la automatizacin industrial a otra transicin, de alcances an desconocidos. Aunque el crecimiento del mercado de la industria Robtica ha sido lento en comparacin con los primeros aos de la dcada de los 80s, de acuerdo a algunas predicciones, la industria de la robtica est en su infancia. Ya sea que stas predicciones se realicen completamente, o no, es claro que la industria robtica, en una forma o en otra, permanecer. En la actualidad el uso de los robots industriales est concentrado en operaciones muy simples, como tareas repetitivas que no requieren tanta precisin. La Fig. 3.1 refleja el hecho de que en los 80s las tareas relativamente simples como las mquinas de inspeccin, transferencia de materiales, pintado automotriz, y soldadura son econmicamente viables para ser robotizadas. Los anlisis de mercado en cuanto a fabricacin predicen que en sta dcada y en las posteriores los robots industriales incrementaran su campo de aplicacin, esto debido a los avances tecnolgicos en sensorica, los cuales permitirn tareas mas sofisticadas como el ensamble de materiales.

Como se ha observado la automatizacin y la robtica son dos tecnologas estrechamente relacionadas. En un contexto industrial se puede definir la automatizacin como una tecnologa que est relacionada con el empleo de sistemas mecnicos-elctricos basados en computadoras para la operacin y control de la produccin. En consecuencia la robtica es una forma de automatizacin industrial. Hay tres clases muy amplias de automatizacin industrial : automatizacin fija, automatizacin programable, y automatizacin flexible.

La automatizacin fija se utiliza cuando el volumen de produccin es muy alto, y por tanto se puede justificar econmicamente el alto costo del diseo de equipo especializado para procesar el producto, con un rendimiento alto y tasas de produccin elevadas. Adems de esto, otro inconveniente de la automatizacin fija es su ciclo de vida que va de acuerdo a la vigencia del producto en el mercado. La automatizacin programable se emplea cuando el volumen de produccin es relativamente bajo y hay una diversidad de produccin a obtener. En este caso el equipo de produccin es diseado para adaptarse a la variaciones de configuracin del producto; sta adaptacin se realiza por medio de un programa (Software). Por su parte la automatizacin flexible es ms adecuada para un rango de produccin medio. Estos sistemas flexibles poseen caractersticas de la automatizacin fija y de la automatizacin programada. Los sistemas flexibles suelen estar constituidos por una serie de estaciones de trabajo interconectadas entre si por sistemas de almacenamiento y manipulacin de materiales, controlados en su conjunto por una computadora. De los tres tipos de automatizacin, la robtica coincide mas estrechamente con la automatizacin programable. En tiempos ms recientes, el control numrico y la telequerica son dos tecnologas importantes en el desarrollo de la robtica. El control numrico (NC) se desarroll para mquinas herramienta a finales de los aos 40 y principios de los 50s. Como su nombre lo indica, el control numrico implica el control de acciones de un mquina-herramienta por medio de nmeros. Est basado en el trabajo original de Jhon Parsons, que concibi el empleo de tarjetas perforadas, que contienen datos de posiciones, para controlar los ejes de una mquina-herramienta. El campo de la telequerica abarca la utilizacin de un manipulador remoto controlado por un ser humano. A veces denominado teleoperador, el operador remoto es un dispositivo mecnico que traduce los movimientos del operador humano en movimientos correspondientes en una posicin remota. A Goertz se le acredita el desarrollo de la telequerica. En 1948 construy un mecanismo manipulador bilateral maestro-esclavo en el Argonne National Laboratory. El empleo ms frecuente de los teleoperadores se encuentra en la manipulacin de sustancias radiactivas, o peligrosas para el ser humano. La combinacin del control numrico y la telequerica es la base que constituye al robot modelo. Hay dos individuos que merecen el reconocimiento de la confluencia de stas dos tecnologas y el personal que poda ofrecer en las aplicaciones industriales. El primero fue un inventor britnico llamado Cyril Walter Kenward, que solicit una patente britnica para un dispositivo robtico en marzo de 1954. (El esquema se muestra abajo). La segunda persona citada es George C. Devol, inventor americano, al que debe atribuirse dos invenciones que llevaron al desarrollo de los robots hasta nuestros das. La primera invencin consista en un dispositivo para grabar magnticamente seales

elctricas y reproducirlas para controlar un mquina. La segunda invencin se denominaba Transferencia de Artculos Programada.

Un robot industrial es un mquina programable de uso general que tiene algunas caractersticas antropomrficas o humanoides. Las caractersticas humanoides ms tpicas de los robots actuales es la de sus brazos mviles, los que se desplazarn por medio de secuencias de movimientos que son programados para la ejecucin de tareas de utilidad. La definicin oficial de un robot industrial se proporciona por la Robotics Industries Association (RIA), anteriormente el Robotics Institute of Amrica. " Un robot industrial es un manipulador multifuncional reprogramable diseado para desplazar materiales , piezas, herramientas o dispositivos especiales, mediante movimientos variables programados para la ejecucin de una diversidad de tareas ". Se espera en un futuro no muy lejano que la tecnologa en robtica se desplace en una direccin que sea capaz de proporcionar a stas mquinas capacidades ms similares a las humanas. 1.3 CLASIFICACIN DE LOS ROBOTS La potencia del software en el controlador determina la utilidad y flexibilidad del robot dentro de las limitantes del diseo mecnico y la capacidad de los sensores. Los robots han sido clasificados de acuerdo a su generacin, a su nivel de inteligencia, a su nivel de control, y a su nivel de lenguaje de programacin. stas clasificaciones reflejan la potencia del software en el controlador, en particular, la sofisticada interaccin de los sensores. La generacin de un robot se determina por el orden histrico de desarrollos

en la robtica. Cinco generaciones son normalmente asignadas a los robots industriales. La tercera generacin es utilizada en la industria, la cuarta se desarrolla en los laboratorios de investigacin, y la quinta generacin es un gran sueo. 1.- Robots Play-back, los cuales regeneran una secuencia de instrucciones grabadas, como un robot utilizado en recubrimiento por spray o soldadura por arco. Estos robots comnmente tienen un control de lazo abierto. 2.- Robots controlados por sensores, estos tienen un control en lazo cerrado de movimientos manipulados, y hacen decisiones basados en datos obtenidos por sensores. 3.- Robots controlados por visin, donde los robots pueden manipular un objeto al utilizar informacin desde un sistema de visin. 4.- Robots controlados adaptablemente, donde los robots pueden automticamente reprogramar sus acciones sobre la base de los datos obtenidos por los sensores. 5.- Robots con inteligencia artificial, donde las robots utilizan las tcnicas de inteligencia artificial para hacer sus propias decisiones y resolver problemas. La Asociacin de Robots Japonesa (JIRA) ha clasificado a los robots dentro de seis clases sobre la base de su nivel de inteligencia: 1.- Dispositivos de manejo manual, controlados por una persona. 2.- Robots de secuencia arreglada. 3.- Robots de secuencia variable, donde un operador puede modificar la secuencia fcilmente. 4.- Robots regeneradores, donde el operador humano conduce el robot a travs de la tarea. 5.- Robots de control numrico, donde el operador alimenta la programacin del movimiento, hasta que se ensee manualmente la tarea. 6.- Robots inteligentes, los cuales pueden entender e interactuar con cambios en el medio ambiente. Los programas en el controlador del robot pueden ser agrupados de acuerdo al nivel de control que realizan. 1.- Nivel de inteligencia artificial, donde el programa aceptar un comando como "levantar el producto" y descomponerlo dentro de una secuencia de comandos de bajo nivel basados en un modelo estratgico de las tareas. 2.- Nivel de modo de control, donde los movimientos del sistema son modelados, para lo que se incluye la interaccin dinmica entre los diferentes mecanismos, trayectorias planeadas, y los puntos de asignacin seleccionados.

3.- Niveles de servosistemas, donde los actuadores controlan los parmetros de los mecanismos con el uso de una retroalimentacin interna de los datos obtenidos por los sensores, y la ruta es modificada sobre la base de los datos que se obtienen de sensores externos. Todas las detecciones de fallas y mecanismos de correccin son implementadas en este nivel. En la clasificacin final se considerara el nivel del lenguaje de programacin. La clave para una aplicacin efectiva de los robots para una amplia variedad de tareas, es el desarrollo de lenguajes de alto nivel. Existen muchos sistemas de programacin de robots, aunque la mayora del software ms avanzado se encuentra en los laboratorios de investigacin. Los sistemas de programacin de robots caen dentro de tres clases : 1.- Sistemas guiados, en el cual el usuario conduce el robot a travs de los movimientos a ser realizados. 2.- Sistemas de programacin de nivel-robot, en los cuales el usuario escribe un programa de computadora al especificar el movimiento y el sensado. 3.- Sistemas de programacin de nivel-tarea, en el cual el usuario especifica la operacin por sus acciones sobre los objetos que el robot manipula. 1.4 APLICACIONES Los robots son utilizados en una diversidad de aplicaciones, desde robots tortugas en los salones de clases, robots soldadores en la industria automotriz, hasta brazos teleoperados en el transbordador espacial. Cada robot lleva consigo su problemtica propia y sus soluciones afines; no obstante que mucha gente considera que la automatizacin de procesos a travs de robots est en sus inicios, es un hecho innegable que la introduccin de la tecnologa robtica en la industria, ya ha causado un gran impacto. En este sentido la industria Automotriz desempea un papel preponderante. Es necesario hacer mencin de los problemas de tipo social, econmicos e incluso poltico, que puede generar una mala orientacin de robotizacin de la industria. Se hace indispensable que la planificacin de los recursos humanos, tecnolgicos y financieros se realice de una manera inteligente. Por el contrario la Robtica contribuir en gran medida al incremento de el empleo. Pero, como se puede hacer esto? al automatizar los procesos en mquinas ms flexibles, reduce el costo de maquinaria, y se produce una variedad de productos sin necesidad de realizar cambios importantes en la forma de fabricacin de los mismo. Esto originara una gran cantidad de empresas familiares (Micro y pequeas empresas ) lo que provoca la descentralizacin de la industria. 1.4.1 INDUSTRIA Los robots son utilizados por una diversidad de procesos industriales como lo son : la soldadura de punto y soldadura de arco, pinturas de spray, transportacin de materiales,

molienda de materiales, moldeado en la industria plstica, mquinas-herramientas, y otras ms. A continuacin se har una breve explicacin de algunas de ellas. 1.4.1.1 APLICACIN DE TRANSFERENCIA DE MATERIAL Las aplicaciones de transferencia de material se definen como operaciones en las cuales el objetivo primario es mover una pieza de una posicin a otra. Se suelen considerar entre las operaciones ms sencillas o directas de realizar por los robots. Las aplicaciones normalmente necesitan un robot poco sofisticado, y los requisitos de enclavamiento con otros equipos son tpicamente simples.

1.4.1.2 CARGA Y DESCARGA DE MAQUINAS. Estas aplicaciones son de manejos de material en las que el robot se utiliza para servir a una mquina de produccin transfiriendo piezas a/o desde las mquinas. Existen tres casos que caen dentro de sta categora de aplicacin: Carga/Descarga de Mquinas. El robot carga una pieza de trabajo en bruto en el proceso y descarga una pieza acabada. Una operacin de mecanizado es un ejemplo de este caso. Carga de mquinas. El robot debe de cargar la pieza de trabajo en bruto a los materiales en las mquinas, pero la pieza se extrae mediante algn otro medio. En una operacin de prensado, el robot se puede programar para cargar lminas de metal en la prensa, pero las piezas acabadas se permite que caigan fuera de la prensa por gravedad. Descarga de mquinas. La mquina produce piezas acabadas a partir de materiales en bruto que se cargan directamente en la mquina sin la ayuda de robots. El robot descarga la pieza de la mquina. Ejemplos de sta categora incluyen aplicaciones de fundicin de troquel y moldeado plstico.

La aplicacin se tipifica mejor mediante una clula de trabajo con el robot en el centro que consta de la mquina de produccin, el robot y alguna forma de entrega de piezas. 1.4.1.3 OPERACIONES DE PROCESAMIENTO. Adems de las aplicaciones de manejo de piezas, existe una gran clase de aplicaciones en las cuales el robot realmente efecta trabajos sobre piezas. Este trabajo casi siempre necesita que el efector final del robot sea una herramienta en lugar de una pinza. Por tanto la utilizacin de una herramienta para efectuar el trabajo es una caracterstica distinta de este grupo de aplicaciones. El tipo de herramienta depende de la operacin de procesamiento que se realiza. Soldadura por puntos. Como el trmino lo sugiere, la soldadura por puntos es un proceso en el que dos piezas de metal se soldan en puntos localizados al hacer pasar una gran corriente elctrica a travs de las piezas donde se efecta la soldadura. Soldadura por arco continua. La soldadura por arco es un proceso de soldadura continua en oposicin a la soldadura por punto que podra llamarse un proceso discontinuo. La soldadura de arco continua se utiliza para obtener uniones largas o grandes uniones soldadas en las cuales, a menudo, se necesita una cierre hermtico entre las dos piezas de metal que se van a unir. El proceso utiliza un electrodo en forma de barra o alambre de metal para suministrar la alta corriente elctrica de 100 a 300 amperes. Recubrimiento con spray La mayora de los productos fabricados de materiales metlicos requieren de alguna forma de acabado de pintura antes de la entrega al cliente. La tecnologa para aplicar estos acabados varia en la complejidad desde mtodos manuales simples a tcnicas automticas altamente sofisticadas. Se dividen los mtodos de recubrimiento industrial en dos categoras: 1.- Mtodos de recubrimiento de flujo e inmersin. 2.- Mtodos de recubrimiento al spray. Los mtodos de recubrimiento mediante flujo de inmersin se suelen considerar que son mtodos de aplicar pintura al producto de baja tecnologa. La inmersin simplemente requiere sumergir la pieza o producto en un tanque de pintura liquida. 1.4.1.4 OTRAS OPERACIONES DE PROCESO. Adems de la soldadura por punto, la soldadura por arco, y el recubrimiento al spray existe una serie de otras aplicaciones de robots que utilizan alguna forma de herramienta especializada como efector final. Operaciones que estn en sta categora incluyen: Taladro, acanalado, y otras aplicaciones de mecanizado. Rectificado, pulido, desbarbado, cepillado y operaciones similares. Remachado,

Corte por chorro de agua. Taladro y corte por lser.

1.4.2 LABORATORIOS. Los robots estn encontrando un gran nmero de aplicaciones en los laboratorios. Llevan acabo con efectividad tareas repetitivas como la colocacin de tubos de pruebas dentro de los instrumentos de medicin. En sta etapa de su desarrollo los robots son utilizados para realizar procedimientos manuales automatizados. Un tpico sistema de preparacin de muestras consiste de un robot y una estacin de laboratorio, la cual contiene balanzas, dispensarios, centrifugados, racks de tubos de pruebas, etc. Las muestras son movidas desde la estacin de laboratorios por el robot bajo el control de procedimientos de un programa.

Los fabricantes de estos sistemas mencionan tener tres ventajas sobre la operacin manual: incrementan la productividad, mejoran el control de calidad y reducen la exposicin del ser humano a sustancias qumicas nocivas. Las aplicaciones subsecuentes incluyen la medicin del pH, viscosidad, y el porcentaje de slidos en polmeros, preparacin de plasma humano para muestras para ser examinadas, calor, flujo, peso y disolucin de muestras para presentaciones espectromticas.

1.4.3 MANIPULADORES CINEMATICOS La tecnologa robtica encontr su primer aplicacin en la industria nuclear con el desarrollo de teleoperadores para manejar material radiactivo. Los robots ms recientes han sido utilizados para soldar a control remoto y la inspeccin de tuberas en reas de alta radiacin. El accidente en la planta nuclear de Three Mile Island en Pennsylvania en 1979 estimul el desarrollo y aplicacin de los robots en la industria nuclear. El reactor numero 2 (TMI-2) predio su enfriamiento, y provoc la destruccin de la mayora del reactor, y dejo grandes reas del reactor contaminadas, inaccesible para el ser humano. Debido a los altos niveles de radiacin las tareas de limpieza solo eran posibles por medios remotos. Varios robots y vehculos controlados remotamente han sido utilizados para tal fin en los lugares donde ha ocurrido una catstrofe de este tipo. sta clase de robots son equipados en su mayora con sofisticados equipos para detectar niveles de radiacin, cmaras, e incluso llegan a traer a bordo un minilaboratorio para hacer pruebas. 1.4.4 AGRICULTURA. Para muchos la idea de tener un robot agricultor es ciencia ficcin, pero la realidad es muy diferente; o al menos as parece ser para el Instituto de Investigacin Australiano, el cual ha invertido una gran cantidad de dinero y tiempo en el desarrollo de este tipo de robots. Entre sus proyectos se encuentra una mquina que esquila a la ovejas. La trayectoria del cortador sobre el cuerpo de las ovejas se planea con un modelo geomtrico de la oveja.

Para compensar el tamao entre la oveja real y el modelo, se tiene un conjunto de sensores que registran la informacin de la respiracin del animal como de su mismo tamao, sta es mandada a una computadora que realiza las compensaciones necesarias y modifica la trayectoria del cortador en tiempo real. Debido a la escasez de trabajadores en los obradores, se desarrolla otro proyecto, que consiste en hacer un sistema automatizado de un obrador, el prototipo requiere un alto nivel de coordinacin entre una cmara de vdeo y el efector final que realiza en menos de 30 segundos ocho cortes al cuerpo del cerdo. Por su parte en Francia se hacen aplicaciones de tipo experimental para incluir a los robots en la siembra, y poda de los viedos, como en la pizca de la manzana.

1.4.5 ESPACIO La exploracin espacial posee problemas especiales para el uso de robots. El medio ambiente es hostil para el ser humano, quien requiere un equipo de proteccin muy costoso tanto en la Tierra como en el Espacio. Muchos cientficos han hecho la sugerencia de que es necesario el uso de Robots para continuar con los avances en la exploracin espacial; pero como todava no se llega a un grado de automatizacin tan precisa para sta aplicacin, el ser humano an no ha podido ser reemplazado por estos. Por su parte, son los teleoperadores los que han encontrado aplicacin en los transbordadores espaciales. En Marzo de 1982 el transbordador Columbia fue el primero en utilizar este tipo de robots, aunque el ser humano participa en la realizacin del control de lazo cerrado. Algunas investigaciones estn encaminadas al diseo, construccin y control de vehculos autnomos, los cuales llevarn a bordo complejos laboratorios y cmaras muy sofisticadas para la exploracin de otros planetas. En Noviembre de 1970 los Rusos consiguieron el alunizaje del Lunokhod 1, el cual posea cmaras de televisin, sensores y un pequeo laboratorio, era controlado remotamente desde la tierra.

En Julio de 1976, los Norteamericanos aterrizaron en Marte el Viking 1, llevaba abordo un brazo robotizado, el cual recoga muestras de piedra, tierra y otros elementos las cuales eran analizados en el laboratorio que fue acondicionado en el interior del robot. Por supuesto tambin contaba con un equipo muy sofisticado de cmaras de vdeo. 1.4.6 VEHCULOS SUBMARINOS Dos eventos durante el verano de 1985 provocaron el incremento por el inters de los vehculos submarinos. En el primero - Un avin de la Air Indian se estrell en el Ocano Atlntico cerca de las costas de Irlanda - un vehculo submarino guiado remotamente, normalmente utilizado para el tendido de cable, fue utilizado para encontrar y recobrar la caja negra del avin. El segundo fue el descubrimiento del Titanic en el fondo de un can, donde haba permanecido despus del choque con un iceberg en 1912, cuatro kilmetros abajo de la superficie. Un vehculo submarino fue utilizado para encontrar, explorar y filmar el hallazgo. En la actualidad muchos de estos vehculos submarinos se utilizan en la inspeccin y mantenimiento de tuberas que conducen petrleo, gas o aceite en las plataformas ocenicas; en el tendido e inspeccin del cableado para comunicaciones, para investigaciones geolgicas y geofsicas en el suelo marino. La tendencia hacia el estudio e investigacin de este tipo de robots se incrementar a medida que la industria se interese an ms en la utilizacin de los robots, sobra mencionar los beneficios que se obtendran si se consigue una tecnologa segura para la exploracin del suelo marino y la explotacin del mismo. 1.4.7 EDUCACIN Los robots estn apareciendo en los salones de clases de tres distintas formas. Primero, los programas educacionales utilizan la simulacin de control de robots como un medio de enseanza. Un ejemplo palpable es la utilizacin del lenguaje de programacin del robot Karel, el cual es un subconjunto de Pascal; este es utilizado por la introduccin a la enseanza de la programacin. El segundo y de uso ms comn es el uso del robot tortuga en conjuncin con el lenguaje LOGO para ensear ciencias computacionales. LOGO fue creado con la intencin de proporcionar al estudiante un medio natural y divertido en el aprendizaje de las matemticas. En tercer lugar est el uso de los robots en los salones de clases. Una serie de manipuladores de bajo costo, robots mviles, y sistemas completos han sido desarrollados para su utilizacin en los laboratorios educacionales. Debido a su bajo costo muchos de estos sistemas no poseen una fiabilidad en su sistema mecnico, tienen poca exactitud, no existen los sensores y en su mayora carecen de software.

1.5 EL MERCADO DE LA ROBTICA Y LAS PERSPECTIVAS FUTURAS Las ventas anuales para robots industriales han ido creciendo en Estados Unidos a razn del 25% de acuerdo a estadsticas del ao 1981 a 1992. El incremento de sta tasa se debe a factores muy diversos. En primer lugar, hay ms personas en la industria que tienen conocimiento de la tecnologa y de su potencial para sus aplicaciones de utilidad. En segundo lugar, la tecnologa de la robtica mejorar en los prximos aos de manera que har a los robots ms amistosos con el usuario, ms fciles de interconectar con otro hardware y ms sencillos de instalar. En tercer lugar, que crece el mercado, son previsibles economas de escala en la produccin de robots para proporcionar una reduccin en el precio unitario, lo que hara los proyectos de aplicaciones de robots ms fciles de justificar. En cuarto lugar se espera que el mercado de la robtica sufra una expansin ms all de las grandes empresas, que ha sido el cliente tradicional para sta tecnologa, y llegue a las empresas de tamao mediano, pequeo y por que no; las microempresas. Estas circunstancias darn un notable incremento en las bases de clientes para los robots. La robtica es una tecnologa con futuro y tambin para el futuro. Si continan las tendencias actuales, y si algunos de los estudios de investigacin en el laboratorio actualmente en curso se convierten finalmente en una tecnologa factible, los robots del futuro sern unidades mviles con uno o ms brazos, capacidades de sensores mltiples y con la misma potencia de procesamiento de datos y de clculo que las grandes computadoras actuales. Sern capaces de responder a ordenes dadas con voz humana. As mismo sern capaces de recibir instrucciones generales y traducirlas, con el uso de la inteligencia artificial en un conjunto especfico de acciones requeridas para llevarlas a cabo. Podrn ver, or, palpar, aplicar una fuerza media con precisin a un objeto y desplazarse por sus propios medios. En resumen, los futuros robots tendran muchos de los atributos de los seres humanos. Es difcil pensar que los robots llegarn a sustituir a los seres humanos en el sentido de la obra de Carel Kapek, Robots Universales de Rossum. Por el contrario, la robtica es una tecnologa que solo puede destinarse al beneficio de la humanidad. Sin embargo, como otras tecnologas, hay peligros potenciales implicados y deben establecerse salvaguardas para no permitir su uso pernicioso.

El paso del presente al futuro exigir mucho trabajo de ingeniera mecnica, ingeniera electrnica, informtica, ingeniera industrial, tecnologa de materiales, ingenieras de sistemas de fabricacin y ciencias sociales.

2.1 INTRODUCCIN La Sociedad actual se encuentra inmersa en una Revolucin Tecnolgica, producto de la invencin del transistor semiconductor en 1951 ( fecha en la que sali al mercado ). Este acontecimiento ha provocado cambios trascendentales as como radicales en los mbitos sociales, econmicos, y polticos del orbe mundial. sta Revolucin da origen a un gran nmero de ciencias multidiciplinarias; este es el caso de la Robtica. La Robtica es una ciencia que surge a finales de la dcada de los 50s, y que a pesar de ser una ciencia relativamente nueva, ha demostrado ser un importante motor para el avance tecnolgico en todos los mbitos ( Industria de manufactura, ciencia, medicina, industria espacial; etc.), lo que genera expectativas muy interesantes para un tiempo no muy lejano. Sin embargo es en la Industria de Manufactura donde la Robtica encuentra un campo de aplicacin muy amplio, su funcin es la de suplir la mano de obra del Hombre en aquellos trabajos en los que las condiciones no son las ptimas para este ( minas, plantas nucleares, el fondo del mar; etc.), en trabajos muy repetitivos y en inumerables acciones de trabajo. Debido al alto costo que representa el automatizar y robotizar un proceso de produccin, la tendencia actual en Robtica es la investigacin de microrobots y robots mviles autnomos con un cierto grado de inteligencia, este ltimo es el campo en el que se basa este proyecto de investigacin. Por lo anteriormente expuesto se explica la necesidad y la importancia de que Institutos de Investigacin, Centros Tecnolgicos, la Industria Privada en coordinacin con las Universidades se den a la tarea de destinar recursos tanto econmicos y humanos para aliviar el rezago tecnolgico que el pas padece. Cabe hacer mencin que este proyecto fue financiado por el Centro de Investigacin y Estudios Avanzados del IPN (CINVESTAV). 2.2 QUE ES UN ROBOT ? n robot puede ser visto en diferentes niveles de sofisticacin, depende de la perspectiva con que se mire. Un tcnico en mantenimiento puede ver un robot como una coleccin de componentes mecnicos y electrnicos; por su parte un ingeniero en sistemas puede pensar que un robot es una coleccin de subsistemas interrelacionados; un programador en cambio, simplemente lo ve como una mquina ha ser programada; por otro lado para un ingeniero de manufactura es una mquina capaz de realizar un tarea especfica. En contraste, un cientfico puede pensar que un robot es un mecanismo el cul l construye para probar una hiptesis.

Un robot puede ser descompuesto en un conjunto de subsistemas funcionales (Fig. 2.1) : procesos, planeacin, control, sensores, sistemas elctricos, y sistemas mecnicos. El subsistema de Software no tiene referencia dentro de la Fig. 2.1 porque es una parte implcita de los subsistemas de sensores, planeacin, y control; que integra todos los subsistemas como un todo.
Figura 2.1. Subsistemas del Robot.

En la actualidad, muchas de las funciones llevadas acabo por los subsistemas son realizadas manualmente, o de una forma off-line, pero en un futuro las investigaciones en estos campos permitirn la automatizacin de dichas tareas. El Subsistema de Procesos incluye las tareas que lleva acabo el robot, el medio ambiente en el cual es colocado, y la interaccin entre este y el robot. Este es el dominio de la ingeniera aplicada. Antes de que un robot pueda realizar una tarea, sta debe ser buscada dentro de una secuencia de pasos que el robot pueda ejecutar. La tarea de bsqueda es llevada acabo por el Subsistema de Planeacin, el cul incluye los modelos de procesos inteligentes, percepcin y planeacin. En el modelo de procesos, los datos que se obtienen de una variedad de sensores son fusionados (Integracin Sensorial) con modelos matemticos de las tareas para formar un modelo del mundo. Al usar este modelo de mundo, el proceso de percepcin selecciona la estrategia para ejecutar la tarea. Estas estrategias son convertidas dentro de los programas de control de el robot durante el proceso de planeacin. Estos programas son ejecutados por el Subsistema de Control; en este subsistema, los comandos de alto nivel son convertidos en referencias para actuadores fsicos, los valores retroalimentados son comparados contra estas referencias, y los algoritmos de control estabilizan el movimiento de los elementos fsicos. Al realizar sta tarea los mecanismos son modelados, el proceso es modelado, la ganancia de lazo cerrado puede ser adaptada, y los valores medidos son utilizados para actualizar los procesos y los modelos de los mecanismos. Desde el subsistema de control se alimentan las referencias de los actuadores al Subsistema Elctrico el cul incluye todos los controles elctricos de los actuadores. Los actuadores hidrulicos y neumticos son usualmente manejados por electrovlvulas controladas. Tambin, este subsistema contiene computadoras, interfaces, y fuentes de alimentacin. Los actuadores manejan los mecanismos en el Subsistema Mecnico para operar en el medio ambiente, esto es, realizar una tarea determinada. Los parmetros dentro del robot y del medio ambiente son monitoreados por el Subsistema de Sensores; sta informacin sensrica se utiliza como retroalimentacin en las ganancias de lazo cerrado para detectar potencialmente las situaciones peligrosas, para verificar que las tareas se realizan correctamente, y para construir un modelo del mundo. 2.3 VEHCULOS La mayora de los robots usan ya sea ruedas o extremidades para moverse. Estas son usualmente montadas sobre una base para formar un vehculo, tambin se montan sobre sta base, el equipo y los accesorios que realizan otras funciones. Los robots ms

verstiles son los robots "serpentina"; llamados as por que su locomocin se inspira en el movimiento de las serpientes; se pueden utilizar en terrenos subterrneos y de espacios reducidos, donde el hombre no tiene acceso y el medio ambiente no es el ms propicio, como en las minas, tneles y ductos. Algunos robots mviles tienen brazos manipuladores, esto es debido a sus funciones, y por otro lado la problemtica de carecer de brazos idneos; que tienen que ser pequeos, fuertes, eficientes y baratos. Un problema al cul se enfrentan los diseadores de robots, es la generacin y almacenado de la energa; los cordones restringen el movimiento pero proveen energa ilimitada. En contraste los robots con libre movimiento son limitados por su cantidad de energa que puedan almacenar y requieren de comunicacin inalmbrica. En la medida que los robots sean ms sofisticados, sern utilizados en un mayor nmero de aplicaciones, muchas de las cules requieren movilidad. En algunas aplicaciones industriales, la necesidad de movilidad es eliminada por la construccin de clulas de trabajo alrededor del robot, de sta manera un robot fijo puede dar servicio a varias mquinas. En estos sistemas de manufactura flexible (SMF) las partes son llevadas de una clula de trabajo a otra por vehculos autmatas. En ocasiones para limitar el movimiento del robot se monta sobre rieles para as llegar hasta las clulas de trabajo con menos complicaciones. La movilidad es usualmente llevada acabo mediante ruedas, rieles extremidades. Los robots con extremidades pueden andar en terrenos ms rugosos que los robot con rodado, pero el problema de control es ms complejo. Los robots pueden alcanzar movilidad volando. Algunos se deslizan ligeramente sobre al tierra sobre conductos de aire; otros usan levitacin magntica, para lo que se requieren superficies especialmente preparadas. Los robots diseados para usos en el espacio exterior no son afectados por la gravedad; se elimina el problema de levitacin, pero se incrementa el problema del control y la estabilidad. 2.4 VEHCULOS DE RODADO Mientras la gente y la mayora de los animales se desplaza sobre extremidades, la mayora de las mquinas mviles utilizan ruedas. La ruedas son ms simples de controlar, tienen pocos problemas de estabilidad, usan menos energa por unidad de distancia de movimiento y son ms veloces que las extremidades. La estabilidad se mantiene al fijar el centro de gravedad de el vehculo en triangulacin de los puntos que tocan tierra. Sin embargo, las ruedas solamente pueden utilizarse sobre terrenos relativamente lisos y slidos. Si se quiere utilizar el robot en terrenos rugosos las ruedas tienen que tener un tamao mayor que los obstculos encontrados. El arreglo ms familiar para las ruedas de un vehculo es el utilizado por los automviles. Cuatro ruedas son colocadas en las esquinas de un rectngulo. La mayora de estos vehculos tiene maniobrabilidad limitada debido a que tienen que avanzar para poder dar vuelta. Tambin se requiere de un sistema de suspensin para asegurar que las ruedas estn en contacto con la superficie durante todo el tiempo. Cuando el robot se desplaza en lnea recta las cuatro ruedas tienen que girar a la misma velocidad, en

cambio al momento de dar vuelta las ruedas interiores giran ms lento que las ruedas exteriores. En un robot mvil, estos requerimientos son alcanzados por un buen diseo mecnico y mediante el control de la velocidad de las ruedas de direccin independiente. Sin embargo las imprecisiones que se presentan para alcanzar una trayectoria definida son causadas por factores mecnicos, deslizamiento de las ruedas, dobleces en los ejes de direccin, y desalineamiento de las ruedas. 2.5 EN QUE CONSISTE EL PROYECTO QUETZALCATL 2.5.1 OBJETIVOS
1. Construir el prototipo de un Robot Mvil Autnomo para propsitos didcticos y/o para prueba y verificacin de algoritmos de control. Y dejar, con este proyecto de investigacin, las bases para prximas mejoras en la optimizacin del prototipo. 1. Crear nuevos investigadores que cuenten con experiencia y habilidad en el desarrollo de investigaciones y realizacin de proyectos de este tipo. 1. Motivar y crear bases para el desarrollo de ms proyectos didcticos y/o aplicados a la industria. 1. Crear vnculos con otras instituciones de enseanza superior en el Estado con la Universidad de Guadalajara. 2.5.2 METODOLOGA DEL DISEO El proyecto consta bsicamente de cuatro etapas; Etapa de Investigacin, Etapa de Sntesis Informativa, Etapa de Diseo y Construccin, Etapa de pruebas, calibracin y control.

A).- Etapa de Investigacin. a) Adquisicin de Bibliografa. b) Bsqueda de las fuentes de informacin especficas de aquellos elementos que constituyen el prototipo. c) Investigacin de las variables que intervienen en el proceso de control del prototipo. d) Adquisicin y estudio del software para el desarrollo e implementacin de los algoritmos de control. B).- Etapa de Sntesis de la Informacin. sta etapa se basa en la etapa anterior y da como resultado una serie de elementos que son necesarios para el desarrollo de las siguientes etapas de el proyecto. C).- Etapa de Diseo y Construccin. En sta etapa se aplica toda la informacin que se recaba y consulta, y que el diseo del prototipo requiere para el cumplimiento de los objetivos planteados anteriormente. En

base a estos lineamientos se construyen las piezas que conforman el prototipo, con el material y componentes adecuados. D).- Etapa de Pruebas, Calibracin y Control. sta es la etapa final, se adoptan las medidas necesarias para alcanzar los objetivos planteados. Se aplican los algoritmos de control y se prueban hasta conseguir el resultado esperado. 2.6 DESCRIPCIN DEL PROYECTO El sistema propuesto consta de : Un Robot Mvil Autnomo. Se encuentra formado por 2 mdulos unidos entre s mediante una unin mecnica, la locomocin del prototipo se realiza por medio de dos ruedas en cada eslabn, en donde cada una de las que son parte de el primer eslabn cuenta con un actuador ( motorreductor de DC ). Los servosistemas se componen de un Driver tipo Chopper con control en lazo cerrado de velocidad, para cada actuador en forma independiente. La alimentacin del Robot se realiza mediante mdulos de bateras de 12 V y los voltajes se adaptan por medio de convertidores DC-DC. La informacin del entorno donde se mueve el Robot se recaba mediante sensores ultrasnicos, los cuales cuentan con una tarjeta de interfaz, la cual pasa dicha informacin al Cerebro del Robot. Debido a la complejidad del proyecto, este se descompone en un conjunto de subsistemas que son: - Subsistema Mecnico. Este subsistema incluye los eslabones, las uniones mecnicas y el mdulo que contiene a todo el sistema que permite que las ruedas giren ( ruedas, ejes, coples, baleros). - Subsistema Elctrico Este subsistema incluye los servosistemas ( Drivers ), las interfaces entre los sensores, los drivers y la computadora, as como las fuentes de alimentacin. -Subsistemas de Sensores sta incluye los sensores de velocidad de tipo incremental, y sensores ultrasnicos para la exploracin del medio ambiente. - Subsistemas de Procesos, Planeacin y Control En este subsistema se encuentran el control de los motores y todas las tareas que realiza el prototipo interiormente y exteriormente al interactuar con el medio ambiente. Para llevar a cabo lo anterior se expande el bus ISA de la tarjeta madre, con lo que se logra optimar las tareas de procesamiento.

3.1 SUBSISTEMAS DE POTENCIA. 3.1.1 Introduccin. Recientemente la electrnica de potencia a emergido como una disciplina importante de la ingeniera elctrica. Su uso a crecido extensivamente en aplicaciones como control de iluminacin, calentadores, fuentes de poder de AC y DC, procesos electroqumicos, controladores de mquinas, soldadoras elctricas. sta disciplina de la ingeniera elctrica cumple con un funcin muy importante como enlace entre las otras disciplinas de la ingeniera elctrica. sta funcin se ilustra en la figura 3.1.

Figura 3.1 Funcin de la Electrnica de Potencia

El rea de Sistemas de Potencia trata con equipo rotatorio y esttico para la generacin, transmisin y distribucin de grandes cantidades de potencia elctrica. El rea de Control trata con el estudio de la estabilidad y respuestas de los sistemas de lazo cerrado. El rea de la Electrnica trata principalmente con dispositivos y circuitos para el procesamiento de informacin. La electrnica de potencia se ocupa del uso eficiente de componentes electrnicos, de la aplicacin de teora de circuitos y tecnologas de diseo y del desarrollo de herramientas analticas para la conversin electrnica eficiente, para el control y acondicionamiento de la potencia elctrica[1].

Actualmente la electrnica de potencia parece estar dividida en las siguientes dos direcciones: Electrnica de baja potencia y alta frecuencia. (fuentes de poder conmutadas). Electrnica de potencia moderada-alta. (control de motores). Uno de los aspectos importantes de las aplicaciones de la electrnica de potencia es el ahorro de energa y control de la contaminacin urbana, mediante el uso eficiente de la electricidad, lo que ayuda a reducir el consumo de potencia. Por ejemplo, los controladores de motores de velocidad ajustable. 3.1.2 Clasificacin de los convertidores electrnicos de potencia. A los circuitos de electrnica de potencia se les llama convertidores. Frecuentemente la potencia distribuida por las compaas de electricidad necesita ser controlada con precisin. Los convertidores electrnicos de potencia son usados para cambiar los parmetros de la energa elctrica. La funcin general de un convertidor se ilustra en la figura 3.2.

Figura 3.2 Esquema generalizado de un convertidor electrnico de potencia

Un convertidor electrnico de potencia est constituido en base a una matriz de dispositivos semiconductores los cuales trabajan en conmutacin, la cual trabaja bajo el comando de la electrnica de control. Los convertidores pueden ser clasificados como rectificadores (convertidores de CA a CD), inversores (convertidores de CD a CA),

recortadores (convertidores de CD a CD), controladores de potencia de CA ( a la misma frecuencia), y cicloconvertidores ( modificador de frecuencia en forma directa). A menudo, un sistema de conversin es del tipo hbrido, el cual mezcla ms de un proceso de conversin bsico. La figura 3.3 muestra el esquema bsico que se utiliza para llevar a cabo estos procesos de conversin.

Figura 3.3 Esquema bsico de conversin de energa

La motivacin para utilizar tcnicas de conmutacin es que, con este mtodo, la eficiencia de la conversin es incrementada a un valor alto, con respecto a la eficiencia obtenida con tcnicas que utilizan los dispositivos en el modo de operacin lineal. En sistemas electrnicos lineales, los dispositivos semiconductores son usados en sus regiones de operacin lineal en donde actan como resistencias ajustables. En estas aplicaciones, los semiconductores tienen una baja eficiencia, tolerada nicamente porque los niveles de potencia son usualmente bajos. En aplicaciones de electrnica de potencia, los dispositivos semiconductores operan como interruptores. Esto da como resultado una mayor eficiencia de energa. Una desventaja de la conmutacin es la generacin de armnicos en las lneas de carga y alimentacin. En la electrnica de potencia moderna hay esencialmente dos tipos de elementos semiconductores: los semiconductores de potencia, que pueden ser definidos como el msculo del equipo, y los circuitos integrados microelectrnicos de control, los cuales pueden ser considerados como el cerebro. Ambos son de naturaleza digital, pero los primeros manejan grandes potencias. Los sistemas de potencia actuales integran estos

dos extremos de la electrnica, lo cual proporciona grandes ventajas en tamao, costo y funcionamiento de los sistemas. Quetzalcatl cuenta con sistemas de potencia los cuales se encargan de suministrar el voltaje necesario para que los motorreductores giren a la velocidad requerida y de suministrar voltajes a la Tarjeta Madre. Estos sistemas son del tipo Convertidores DCDC. 3.1.3 Dispositivos Semiconductores de Potencia. Los dispositivos semiconductores de potencia son los elementos ms importantes de un sistema electrnico de potencia. Bsicamente, son interruptores apagado-encendido. Es necesario conocer ampliamente los dispositivos para un diseo eficiente[1]. 3.1.3.1 Transistor de potencia (BJT o BPT)

El transistor de unin bipolar (BJT), en su versin de potencia es usado ampliamente como un dispositivo de conmutacin, tiene caractersticas que se aproximan a un switch ideal. Los estados de corte y saturacin son regiones de operacin primarias; estos dos estados corresponden al estado cerrado y abierto de un switch ideal. Modelo de el estado de encendido En la regin de conduccin, el transistor est ya sea en estado de saturacin o en estado de quasi-saturacin. La transicin de la regin lineal a el estado de saturacin no es

abrupta, existe una regin de quasi-saturacin, en la cual VCE decrece con el incremento de corriente de base, y en sta no es vlido el concepto de ganancia de corriente. Para un valor dado de corriente de colector en la regin de saturacin, el valor de VCE es casi independiente de la corriente de base, en la regin de quasi-saturacin, el valor de VCE es pequeo y en funcin de la corriente de base. La distincin entre estas dos regiones no es precisa, y conforme la corriente de base sea variada existe un cambio gradual de una condicin a la otra. La distincin es importante por el efecto de las prdidas del transistor y la velocidad de conmutacin. Para el propsito de operacin dentro o cerca de la regin de saturacin, la ganancia forzada es definida en la ecuacin (3-1): Ganancia forzada = F = IC / IB (3-1) En dicha saturacin, la corriente de colector est determinada casi por completo por el circuito externo y solo en un grado muy pequeo por la corriente de base. Mientras ms bajo sea el valor de la ganancia forzada, el transistor opera ms profundamente dentro de la regin de saturacin y es menor el valor de VCE. Para alcanzar la regin de saturacin, se requiere de un valor relativamente grande de corriente de base, de ah que la ganancia forzada de corriente sea normalmente pequea y en el rango de 3 a 10. La ganancia de corriente varia ampliamente con la corriente de colector y la temperatura en los transistores de potencia . El dispositivo tiene capacidades asimtricas de bloqueo de voltaje, de sta manera es aplicable para convertidores DC-DC e inversores. Modelo del estado de apagado En muchas situaciones, el estado de apagado de un BJT equivale aproximadamente a un circuito abierto. Pero existe una pequea corriente de colector casi independiente del VCE pero altamente dependiente de la temperatura de la unin. Que este transistor constituya una aproximacin suficientemente cercana a un circuito abierto de un conmutador ideal, depende de los requerimientos especficos del diseo. rea de Operacin Segura Hay lmites sobre el punto de operacin identificados por un rea de operacin segura (SOA). Uno de estos es el rea de operacin segura bajo polarizacin directa (FBSOA). Este requerimiento resulta de la necesidad de evitar una condicin conocida como "segundo rompimiento", o un calentamiento de la unin de base-colector, lo que da por resultado, una distribucin no uniforme de la corriente de colector a travs de la seccin transversal del transistor. Valores muy grandes de VCE pueden causar una interrupcin inmediata del transistor. Los fabricantes de transistores de alto voltaje publican curvas de FBSOA, que establecen las especificaciones idneas para una buena operacin. Hay, de hecho, varias curvas que dependen de la duracin de la corriente de colector a un valor dado de VCE. Otra restriccin que es importante es el rea segura de operacin bajo polarizacin inversa (RBSOA). Estos lmites se aplican durante la transicin al estado de apagado cuando se aplica polarizacin inversa a la unin base-emisor y la corriente de colector an no a decado hasta cero. El diseador debe asegurarse que el transistor permanezca

dentro de estos lmites, en muchas ocasiones se tiene que aadir componentes auxiliares al circuito y con un diseo adecuado del circuito en la base. Estos circuitos auxiliares son denominados redes "snubber". Requerimientos Dinmicos de la Corriente de Base La corriente de base ideal para un BJT es mostrada en la figura 3.4. Un valor positivo de corriente de valor IB1 es requerido para encender el transistor y alcanzar el nivel de saturacin deseado. Para apagar el transistor transcurrido un tiempo, es usual invertir la corriente de base por un corto intervalo. La corriente inversa de magnitud IB2 causa que el transistor se apague ms rpidamente que si solamente se reduce la corriente a cero.

Figura 3.4 Corriente de base ideal para un BJT

Un valor grande de IB1 reduce el tiempo requerido para que la corriente de colector cambie de su valor inicial a su valor final. El valor del voltaje colector-emisor de saturacin tambin decrece. As, el dispositivo opera en una condicin ms saturada con menores prdidas de potencia. El efecto no deseado es que el transistor requiere un tiempo mayor para apagarse. En particular aumenta el tiempo de almacenamiento. El tiempo de almacenamiento est definido como el intervalo, despus de aplicar la corriente de base inversa, durante el cual la corriente permanece prcticamente constante. De aqu que se requiere un diseo adecuado que mantenga un buen equilibrio entre el tiempo de almacenamiento y el incremento de potencia requerida para manejar la base del transistor. 3.1.3.2 MOSFET de Potencia El surgimiento de los MOSFETs de potencia en aos anteriores han causado el desplazamiento del BJT en algunas aplicaciones. En situaciones en las cuales son requeridas altas frecuencias de conmutacin, el MOSFET podr tener menos prdidas de potencia que el correspondiente BJT, aunque sus prdidas por conduccin sean mayores. Adems el MOSFET no est sujeto al efecto del segundo rompimiento que es de seria preocupacin para el BJT. Modelado del MOSFET Las caractersticas estticas de el MOSFET de potencia son similares a las de el de

pequea seal, excepto por el incremento en los valores de corriente y voltaje asociados con el dispositivo de potencia.

El valor de VDS est relacionado a iD por un valor de resistencia, RDS(ON), el cual es casi constante. sta regin de conduccin corresponde a la regin de saturacin de el transistor de unin bipolar: VDS(ON) = RDS(ON) iD (3-2) En cualquier estado de encendido o apagado, la terminal gatillo requiere esencialmente corriente cero. Existe un aislamiento entre la terminal de gatillo y el resto del MOSFET, lo que da como resultado una capacitancia de entrada no lineal. El MOSFET no es un conmutador ideal, pero se asemeja lo suficientemente para ser muy til en dispositivos prcticos. El MOSFET tiene ms velocidad en la transicin de los dos estados que el transistor de unin bipolar y esto lo hace ms til en altas frecuencias de conmutacin.

apacitancia en el MOSFET Dos capacitancias son importantes en un conmutador de encendido-apagado con MOSFET. stas son Cgs entre el gatillo y la fuente y Cgd entre el gatillo y el drenador. Cada valor de capacitancia es una funcin no lineal del voltaje. El valor para Cgs tiene solamente una variacin pequea, pero en Cgd, cuando DG haya pasado a travs de cero, es muy significativa. Cualquier desprecio de estas variaciones crea un error substancial en la carga que es requerida en el gatillo que es necesaria para estabilizar una condicin dada de operacin. Encendido En la mayora de los circuitos con MOSFET, el objetivo es encenderlo tan rpido como sea posible para minimizar las prdidas por conmutacin. Para lograrlo, el circuito manejador del gatillo debe ser capaz de alimentar la suficiente corriente para incrementar rpidamente el voltaje de gatillo al valor requerido. Apagado Para apagar el MOSFET, el voltaje gatillo-fuente debe reducirse en accin inversa como

fue hecho para encenderlo. La secuencia particular de la corriente y el voltaje depende de los arreglos del circuito externo. rea segura de operacin El rea segura de operacin de el MOSFET est limitada por tres variables que forman los lmites de una operacin aceptable. Estos lmites son: 1. Corriente mxima pulsante de drenador 2. Voltaje mximo drenador-fuente 3. Temperatura mxima de unin. Prdidas del MOSFET Las prdidas de potencia del MOSFET son un factor tomado en cuenta para la seleccin de un dispositivo de conmutacin. La eleccin no es sencilla, pues no puede decirse que el MOSFET tenga menores o mayores prdidas que un BJT en un valor especfico de corriente. Las prdidas por conmutacin en el encendido y apagado juegan un papel ms importante en la seleccin. La frecuencia de conmutacin es tambin muy importante. Durante la conduccin constante de la corriente de drenador, las prdidas de el MOSFET son calculadas fcilmente mediante la ecuacin (ID)2RDS(ON). Las prdidas de energa durante el encendido y el apagado no son encontradas tan fcil, de echo, dependen de las condiciones del circuito de drenador y fuente. Un punto a considerar acerca de las prdidas es el incremento relativamente pequeo en las prdidas totales cuando la frecuencia de conmutacin se incrementa. En muchos casos, el MOSFET est en desventaja con el BJT a bajas frecuencias de conmutacin. Esto resulta de las prdidas altas en el estado de encendido del MOSFET. Cuando la frecuencia de conmutacin va en aumento, las prdidas de el BJT se incrementan ms de lo que se incrementan las prdidas por conmutacin del MOSFET. En alguna frecuencia, las dos prdidas llegan a ser iguales, y para una frecuencia mayor el MOSFET tendr perdidas totales menores que el BJT. Inductancia de la fuente La inductancia de la fuente puede causar efectos apreciables sobre el tiempo requerido para cambiar la corriente de drenador. Un anlisis simple puede hacerse para calcular el tiempo, si se hace una suposicin; que la corriente de gatillo puede ser despreciada en comparacin a la corriente del drenador durante el perodo en el cual la corriente de drenador cambia. 3.1.4 Convertidores DC-DC PWM Los dos sistemas de potencia implementados en Quetzalcatl son de este tipo. Estos convertidores cambian el voltaje no regulado de dc a un voltaje regulado de dc, a un voltaje variable. Para alimentar la tarjeta madre se requiere de voltajes regulados y para controlar la velocidad de los motores, se necesita un voltaje variable. La tarjeta madre es alimentada mediante fuentes de potencia conmutadas (SMPS's: switching mode power supplies). La entrada de dc es una batera. Tradicionalmente los convertidores del tipo dc-dc PWM son conocidos como recortadores (choppers). Existen muchos tipos de convertidores dc-dc, algunos de ellos son :

A. Chopper Buck ( Recortador atenuador ) B. Chopper Boost ( Recortador elevador ) C. Chopper Buck-Boost (Recortador atenuador/elevador, inversor de polaridad) D. Chopper acoplado por transformador 3.1.4.1 Buck Chopper Este tipo de convertidor es el que se implementa en los sistemas de potencia de Quetzalcatl. El chopper buck bsico proporciona una salida de voltaje promedio que es menor que la entrada de voltaje. En la figura 3.5 se muestra un circuito bsico que explica su funcionamiento[1].

FIGURA. 3.5 Circuito tipo Buck Chopper bsico.

El inductor y el capacitor proveen una accin de filtrado, as la salida de voltaje tiene solamente un rizado limitado. El filtrado depende de los requerimientos de la carga a ser utilizada. La cantidad de filtrado tambin afecta la forma de el anlisis del circuito, porque existen dos modos de operacin del circuito que dependen del valor de la inductancia. Si la inductancia es lo suficientemente grande, que provoque que la corriente de inductor nunca llegue a ser cero, el modo es designado como corriente continua de inductor. Si la inductancia es ms pequea, entonces la corriente en sta es cero en alguna parte de cada ciclo, y el modo de operacin es designado como corriente discontinua de inductor. Relacin de voltaje En la figura 3.5 el switch S es abierto y cerrado peridicamente. El perodo total es T, y la fraccin de tiempo que el switch est cerrado es D. La fraccin de tiempo en que el switch est abierto es (1 - D).

Para el propsito de este anlisis, se asume que C es lo suficientemente grande para que se pueda despreciar el rizado en C. Denotaremos este voltaje sin variacin por VC.

FIGURA. 3.6 (a) Representacin del circuito Buck chopper con el switch cerrado. (b) Representacin con el switch abierto.

Durante el tiempo que el switch est cerrado, el circuito se representa como muestra la figura 3.6a. Para el tiempo en que el switch est abierto, la corriente de inductor circula a travs del diodo y resulta el circuito de la figura 3.6b. La ecuacin de corriente del circuito durante el intervalo en el que el switch est cerrado est dada en la ecuacin (3-3). ( diL / dt ) = ( E - VC ) / L (3-3) Durante este perodo de tiempo de duracin DT, la corriente del inductor se incrementa con una razn constante ( mostrado en la figura 3.7 ), como lo hacen otras corrientes y voltajes de el circuito[1][2]. La corriente de el inductor comienza en un valor inicial Imin y cambia al valor Imax al trmino del perodo de switch-cerrado.

FIGURA. 3.7 Grficas de corriente en el inductor, switch, diodo y voltaje en el inductor durante el perodo completo T.

Para el intervalo en el que el switch est abierto, el circuito cambia al arreglo mostrado en la figura 3.6b; la ecuacin de la corriente en este intervalo es expresada en la ecuacin (3-4). ( diL / dt ) = - ( VC / L ) (3-4) De sta manera, durante el intervalo de tiempo ( 1 - D ) T, la corriente del inductor decrece a una razn constante desde Imax a Imin. El valor final es el mismo que al comienzo del perodo, ya que la operacin es peridica. El cambio durante la clausura del switch por lo tanto debe de ser el mismo que durante el perodo de apertura de este. Si se asume que la corriente del inductor es continua, Imin es mayor igual a cero. Lo anterior es expresado en las ecuaciones (3-5) y (3-6). Imax - Imin = ( ( E - VC )/ L ) DT (3-5) Imin - Imax = - ( VC / L ) ( 1 - D) T (3-6) Al resolverlas para VC da: VC = DE. (3-7) As, el voltaje del capacitor y an la salida del chopper a la carga depende solamente de la fraccin de tiempo que el switch est cerrado, a condicin de que la corriente del inductor sea continua. Corrientes de circuito De la figura 3.7, podemos encontrar que el valor promedio de la corriente de inductor es: IL = ( Imax + Imin ) / 2 (3-8) La ecuacin de corriente en el nodo de la carga resistiva es dada en la ecuacin (3-9). Ya que el promedio de la corriente del capacitor es cero en operacin peridica, puede escribirse la ecuacin (3-10) al promediar los trminos de la ecuacin (3-9) sobre un perodo de operacin.

i L = iC + iR (3-9) I L = IR (3-10) El valor de IR est dado en la ecuacin (3-11). Una combinacin de estas ecuaciones permite una solucin para Imax + Imin en la ecuacin (3-12): IR = VC / R (3-11) Imax + Imin = 2 (VC / R ) (3-12) El combinar las ecuaciones (3-5) y ( 3-12) permite resolver para Imax e Imin : Imax = (DE) [ (1/R) + (( 1- D)(T)/2L)] (3-13) Imin = (DE) [ (1/R) - (( 1- D)(T)/2L)] (3-14) Condicin de corriente continua Al resolver la ecuacin anterior para un valor de cero en Imin da una relacin para el valor mnimo de inductancia que produce una corriente continua en la misma, el resultado es la Ecuacin (3-15): L = ( TR / 2 ) ( 1 - D ) (3-15) Rizado del Voltaje de el Capacitor En realidad existe un pequeo rizado en el voltaje de el capacitor. Esto tiene solamente un efecto de segundo orden en las corrientes calculadas anteriormente, por lo que los resultados previos pueden ser usados sin cambio. La grfica de la corriente del capacitor es como se muestra en la figura 3.8 para corriente continua de inductor. El valor pico de sta forma de onda triangular es ( Imax Imin ) / 2. El rizado resultante en el voltaje del capacitor depende de el rea bajo la curva de la corriente del capacitor contra el tiempo. En la Figura 3.8, la carga aadida al capacitor en medio ciclo es dada por el rea triangular sobre el eje: Q = ( 1/2 ) [( Imax - Imin ) / 2] ( /2 ) (316) Q = [( Imax - Imin ) ( T ) / 8] (317)

FIGURA. 3.8 Grfica de la corriente del capacitor para corriente continua de inductor y grfica del voltaje del capacitor.

La grfica del voltaje del capacitor tambin se muestra en la Figura 3.8. El rizo en el voltaje es exagerado para mostrar su efecto. Los valores mnimo y mximo del voltaje del capacitor ocurren al mismo tiempo que la corriente del capacitor es cero[1]. El valor pico a pico del rizado del voltaje de el capacitor est dado por : VC = Q / C = [( Imax - Imin ) ( T ) / 8C] (318)

3.1.5 Drivers Los drivers son los controladores de velocidad de los motorreductores. Anteriormente se estableci que la velocidad de un motor de d.c. puede ajustarse mediante la variacin de el voltaje de armadura. La fuente de alimentacin es una batera de cido-plomo, sellada y recargable. El voltaje de la batera pasa por un convertidor DC-DC, que vara el nivel de voltaje que se aplica al motorreductor. Ya que el motor es pequeo y la inductancia de la armadura lo es tambin, la frecuencia necesaria para mantener la corriente de la armadura constante es del rango de 20 kHz.[3]. Para permitir que el motor gire en cualquier direccin sin ningn switch mecnico es utilizado el circuito puente de la figura 3.8a, es conocido como control en cuatro cuadrantes chopper de cuatro cuadrantes. La operacin en los cuadrantes es posible mediante el disparo adecuado de los conmutadores ( figura 3.8c ); las polaridades del voltaje de carga y corriente de carga se muestran en la figura 3.8b.

FIGURA. 3.8 (a)Chopper de cuatro cuadrantes (b) Voltaje y corriente de carga (c) Dispositivos en operacin segn el cuadrante en que se trabaje. El voltaje promedio de la armadura del motor, y de ah la velocidad, es controlado por la relacin entre el perodo de encendido y el perodo de apagado en la modulacin por ancho de pulso (PWM). Si el ciclo de conmutacin es mucho menor que la constante de tiempo de la armadura ( L/R), la variacin de la corriente es aproximadamente lineal[3]. Para conmutar se utilizan MOSFETS de potencia, son adecuados en sta aplicacin por su baja corriente necesaria para dispararlos, que puede ser obtenida directamente de los circuitos integrados CMOS, y tambin por la caracterstica que tienen para recortar a altas frecuencias. Los MOSFETS de potencia tienen mejores ventajas en el control de motores alimentados con bateras por su habilidad para conmutar a frecuencias superiores al rango audible con pequeas prdidas de potencia. La potencia para manejar el disparo es muy pequea, por ejemplo, la corriente promedio sustrada de la batera para conmutar un MOSFET de potencia de 15 A, que opera a 20 kHz es tpicamente menor a 1mA. La tcnica por modulacin por ancho de pulso es adecuada para la operacin de baja velocidad y alto torque, y se utiliza en Quetzalcatl, para obtener un buen factor de forma ( Irms / Iavg) y para minimizar el ruido audible[4]. Un buen factor de forma permite mejorar la eficiencia, aumentar la vida de las escobillas y disminuir la probabilidad de desmagnetizacin de el campo de imn permanente. Con frecuencias altas de conmutacin se obtiene una reduccin til en el tamao y peso de los componentes de filtrado, adems de mejorar la respuesta del lazo de control de velocidad. En la Figura 3.9 se muestra un diagrama a bloques de el driver implementado.

FIGURA. 3.9 Diagrama a bloques del driver implementado. 3.1.5.1 Puente Completo del Driver El circuito bsico del puente completo es mostrado en la figura 3.10. Para controlar en direccin directa, los MOSFETS A y D estn apagados, el MOSFET C est encendido, y el MOSFET B es conmutado con la seal de PWM. Para controlar el motor en direccin inversa, los MOSFETS C y B estn apagados, el MOSFET A est encendido, y el MOSFET D es conmutado con la seal de PWM[2].

FIGURA. 3.10 Circuito bsico del puente completo 3.1.5.2 PWM El modulador por ancho de pulso (PWM: Pulse Width Modulation), es implementado por medio de un circuito integrado LM3524. El LM3524 es en Regulador Modulador de Ancho de Pulso; en la figura 3.11 se muestra el diagrama a bloques del encapsulado.

FIGURA. 3.11 Diagrama a bloques del CI LM3524 ( Regulador Modulador de Ancho de Pulso ) Tiene un pin de apagado para protecciones. El latch tiene la funcin de asegurar un pulso por perodo an en ambientes ruidosos. Tambin incluye supresin lgica de doble pulso la cual asegura que al removerse una condicin de apagado, el estado de el flip-flop T cambia solamente despus de que llegue el primer pulso del reloj. Esto previene que se presente seguida la

misma salida del pulso anterior, con lo que se reduce la posibilidad de saturacin en diseos con push-pull. Regulador interno de voltaje El LM3524 tiene un voltaje de referencia de 5V con precisin de +/-1%, con capacidad de 50mA, y proteccin contra cortocircuito, este voltaje alimenta los circuitos internos de el dispositivo y puede ser utilizado como referencia externa. Oscilador La frecuencia del oscilador es establecida mediante una resistencia Rt y un capacitor Ct externos. La salida del oscilador provee las seales para disparar un flip-flop interno, el cual direcciona la informacin de el PWM a las salidas, y un pulso de borrado para apagar ambas salidas durante las transiciones para asegurar que no ocurran condiciones cruzadas. El ancho de el pulso de borrado, o tiempo muerto, es controlado por el valor de el capacitor Ct. Amplificador de error El amplificador de error es un amplificador transconductivo de entrada diferencial. Su ganancia es nominalmente de 86 dB, es colocada ya sea por retroalimentacin o con carga a la salida. sta carga de salida puede ser resistiva solamente o resistiva y reactiva. La salida del amplificador, o la entrada de modulador de ancho de pulso, puede ser manejada fcilmente con un voltaje de dc aplicado al pin 9, para forzar en las salidas un ciclo de trabajo particular. Limitador de corriente La funcin de el amplificador limitador de corriente es manejar la salida del amplificador de error y tomar control del ancho de pulso. La salida del ciclo de trabajo es disminuida en un 25% aproximadamente cuando un voltaje sensado de lmite de corriente de 200mV es aplicado entre las terminales +Cl y -Cl. Un incremento del voltaje sensado, de aproximadamente un 5%, da por resultado un ciclo de trabajo del 0%. Etapa de salida La salidas de el dispositivo son transistores NPN, la capacidad de manejo de corriente de los transistores es de hasta 200mA. Estos transistores son manejados 180 fuera de fase y tienen emisores y colectores abiertos. 3.1.6 Fuente de potencia conmutada Este subsistema de potencia del robot tiene por objetivo suministrar la potencia necesaria para el buen funcionamiento de la tarjeta madre. En la Figura 3.12 se muestran los voltajes necesarios para el funcionamiento de la tarjeta madre.

FIGURA. 3.12 Voltajes utilizados por la tarjeta madre empleada. Para alimentar la fuente de potencia se utiliza un banco de bateras de cidoplomo, selladas y recargables de +12 V. Al conectar dos bateras en serie obtenemos la suma de las dos (24V), este voltaje lo regulamos mediante un convertidor DC-DC tipo buck, el cual fue explicado anteriormente, para obtener 12V regulados, adems el circuito cuenta con proteccin contra sobrevoltaje, y sobrecorriente[6], esto es, que cuando la salida del convertidor DC-DC exceda un valor lmite de voltaje, la salida cae inmediatamente a 0 V, para evitar daos a el circuito que se alimenta, de la misma forma ocurre con la corriente. El dispositivo de conmutacin del convertidor tipo buck es el transistor de potencia TIP31, que cuenta con un circuito controlador de base y una red

snubber[5] para disminuir las prdidas por conmutacin. El diagrama a bloques de la fuente de potencia se muestra en la figura 3.13.

FIGURA. 3.13 Diagrama a bloques de la fuente de potencia.

3.2 -HARDWARE ( INTERFACES )

ara controlar la direccin del robot en el seguimiento de la trayectoria es necesario tener una interface que obtenga los datos de los sensores, as como el control de los motores. sta interfaz se puede realizar con diferentes dispositivos, como un microcontrolador o expandir el bus de la computadora con el puerto 8255. En quetzalcatl se emplea la segunda opcin antes mencionada; esto se debe a que el algoritmo de control del robot en su conjunto, necesita un microprocesador bastante rpido para efectuar las diversas operaciones que esto implica, por lo tanto se hace necesario utilizar una PC.

A continuacin se hace una introduccin de lo que es un bus, la expansin del mismo y como funcionan los principales pines del bus ISA, posteriormente se explican brevemente todos los CI que intervienen en las tarjetas de adquisicin de datos que se implementaron y al final se presenta un diagrama a bloques de las tarjetas figura 3.16.

3.2.1 Introduccin

Un bus es un conjunto de alambres cuyo propsito es interconectar diferentes bloques funcionales en una forma sistemtica. Cuando se hace referencia al bus de una computadora por lo general se refiere al bus interno. Este bus conecta todos los componentes internos con el CPU y la memoria principal, como ya se hizo mencin. Tambin hay buses de expansin que habilitan a las tarjetas de expansin para tener acceso al CPU y la memoria.

Todos los buses constan de dos partes; el bus de direccionamiento y el bus de datos. El bus de direccionamiento transfiere la informacin de el lugar a donde los datos deben ir, mientras tanto el bus de datos transfiere estos datos. El tamao de un bus, conocido como el ancho del bus, es importante porque determina cuantos datos pueden ser transmitidos en una sola vez. Por ejemplo, un bus de 16 bits puede transmitir 16 bits de datos, un bus de 32 bits puede transmitir 32 bits de datos; etc. Cada bus tiene una velocidad de reloj medida en Mhz. Un bus rpido permite que los datos sean transferidos con una mayor rapidez, lo cual hace las aplicaciones ms rpidas.

La seales en un bus se pueden agrupar de la siguiente forma :

- Datos D0, D1, ... - Direccionamiento A0, A1, ... - Control IRQs, R/W, ... - Alimentacin +5V, -5V, +12V, -12V, GND.

Para un bus se definen una forma estndar en la parte mecnica, elctrica y en el protocolo de comunicacin.

Es recomendable usar un bus estndar y no disear uno especfico, a menos que no exista otra solucin. Algunas de las ventajas al usar un bus estndar son :

- No se requiere disear en nuevo bus - Existen otros sistemas que pueden conectarse a tu sistema - El tiempo de depuracin se reduce - El protocolo de comunicacin ya est definido.

Algunas caractersticas de los buses, tiles para realizar una comparacin entre ellos son :

-Datos transferidos De esclavo a maestro, de maestro a maestro, de maestro a esclavo.Byte, palabra, bloque Sncrono, asncrono, MB/S, Multiplexin del bus.

- Interrupciones Es la habilidad para detener al maestro en una tarea determinada y comenzar otra. IRQs, IACKs, etc.

- Mltiples maestros Varios dispositivos pueden controlar el bus, no simultneamente. Arbitrariamente, el control del bus cambia ( el control es tomado por otro maestro).

- Funciones de utilidad Error de manejos, relojes, deteccin de fallas.

- Tamao ( en nmero de pines) Su impacto en el costo.

Algunos buses : * ISA * EISA * PCI * VESA * VMEbus * MULTIBUS Y * NuBus * STD Bus.

3.2.2 Expansin del bus

Al conjunto de alambres y protocolos que permiten la expansin de una computadora, al insertar tarjetas de circuitos impresos (Tarjetas de Expansin), se le da el nombre de bus de expansin. Tradicionalmente las computadoras personales han utilizado un bus de expansin llamado Bus ISA. En aos recientes, sin embargo, el bus ISA ha llegado a ser un cuello de botella, as que actualmente las nuevas computadoras tienen un bus PCI que soluciona los problemas del bus ISA, pero tambin tienen un bus ISA para ser compatibles con modelos atrasados.

3.2.2.1 Tarjetas de expansin.

Una tarjeta de expansin no es ms que una tarjeta de circuitos impresos que se puede insertar en los slots del bus de expansin de una computadora y que aade ciertas capacidades a las mismas; como por ejemplo, adaptadores de vdeo, aceleradores grficos, tarjetas de sonido, tarjetas aceleradoras, mdems internos, tarjetas de adquisicin de datos, etc. Una tarjeta de expansin tambin puede tener dos tamaos, de medio tamao tambin llamada tarjeta de 8 bits por que solo puede trasmitir 8 bits en una sola vez, y de tamao completo o tambin llamada tarjeta de 16 bits . Algunas tarjetas de expansin son diseadas para operar en un bus local como las PCI.

3.2.2.2 Bus ISA (Industry Standard Architecture) Este es el bus comnmente usado en las PCs para comunicarse con dispositivos perifricos en otras tarjetas. Algunas caractersticas: Datos 8 y 16 (XT y AT respectivamente) Direccionamientos 24 ======> 16 MB Bus Masters 1 Periodo de Transferencia Depende del procesador Deteccin de errores del Bus Si (paridad por ejemplo)

Tipos de Operaciones permitidas en el Bus:

Memoria lectura de entrada/salida Memoria escritura de entrada/salida DMA Deteccin de errores en el bus.

Las seales en el bus ISA son generadas en base al reloj CLK(BCLK). Desde ese punto de vista el bus es sncrono. Sin embargo muchas relaciones de tiempo son definidas entre seales y desde ese punto de vista entonces el bus es asncrono.

Para ciclos de 8 bits ( M, I/O ) se usan 6 ciclos de BCLK como default, mientras que para ciclos de 16 de bits son de 3 ciclos BCLK. El bus ISA tiene 62 contactos de tipo de borde de tarjeta, 31 por cada cara ( A/B ), en pasos de 0.1 pulgadas. De las seales disponibles en l destacan :

CLOCK (salida) : Es el reloj del sistema. Su frecuencia depende del tipo de aparato. Suele ser de 4,7-8-12 16 Mhz; aunque puede llegar hasta 80 Mhz en los sistemas 486.

RESET (salida) : Sirve para inicializar el sistema.

A0-A19 (bus de direcciones) : Son 20 lneas que determinan el mximo de memoria direccionable ( 1Mbyte). "A0" es el bit menos significativo y "A19" es el ms significativo. Las seales de salida se generan por el microprocesador o por el controlador de DMA cuando este toma el control sobre el bus, se usan los contactos A12-A31 del bus.

IRQ-IRQ7 (peticin de interrupcin : entrada) : Por estas lneas se hacen las peticiones de interrupcin. Son seis lneas que se utilizan para indicar al procesador que algn perifrico requiere de su atencin en ese instante, ya sea para leer o para que se le enven datos. La IRQ2 es la que tiene mayor prioridad, y la IRQ7 es de menor prioridad.

Cuatro lneas de control de lectura/escritura (R/W).-Las siguientes son para acceso a memoria: MEMR ( salida) : indica a la memoria que el dato situado en el bus ha sido ledo. sta seal se activa en nivel bajo (un "cero" lgico). MEMW (salida): indica a la memoria que guarde el dato situado en el bus. Se activa tambin con nivel bajo. Y las otra dos lneas son de acceso a dispositivos externos o puertos:

OIR (salida ): indica a los perifricos la lectura de dato situado en el Bus. Puede ser Controlada por el procesador o por el controlador DMA; activa en nivel bajo.

OIW (salida ): indica a los perifricos la escritura de un dato situado en el bus. Puede ser controlada del mismo modo, y es activa tambin en nivel bajo.

Seis lneas para acceso directo a Memoria (DMA ).-

DRQ1-DRQ2 (entradas ): peticin de DMA por los perifricos.

DACK0/DACK3 (salidas) : reconocimiento del DMA. Activas en nivel bajo.

AEN (salidas ) : cuando sta es activa, el DMA controla el bus de direcciones, bus de datos y lneas de R/W.

T/C (salida): se activa al terminar el ciclo DMA.

Cuatro niveles de tensin de alimentacin .- +5,-5, +12 y -12 volts de corriente continua.

En los siguientes prrafos se indican los CI que componen las tarjetas de adquisicin de datos y una breve explicacin de algunas caractersticas que son factor esencial para su uso en el proyecto por lo que se hace la aclaracin, que solo se expone la informacin general ms importante; para datos ms exactos el lector puede consultar el apndice de hojas de datos donde se encuentran todas las hojas de especificaciones del fabricante de los CI que se utilizan en este trabajo. 3.2.3 DESCRIPCIN DE LOS CI

"8255 : Puerto programable"

Este es el elemento principal del diseo. Este circuito integrado viene a ser un puerto que tiene la ventaja de ser un dispositivo programable de entrada y salida de propsito general, est diseado para usarse como interface entre microprocesadores y uno o varios perifricos.

El Puerto posee 24 terminales agrupadas en tres puertos bidireccionables, que pueden programarse como de entrada o salida. Tambin se puede usar como dos puertos de 12 bits cada uno. Todas las entradas o salidas son compatibles con lgica TTL. Las formas (modos de operacin) en que puede ser programado son los siguientes:

MODO "0": entrada/salida. MODO "1": entrada/salida sincronizada ( strobed). MODO "2": bus direccional.

La configuracin funcional de cada puerto se programa por software, y es la CPU la que enva las palabras de control para el modo de operacin. sta palabra es enviada a un registro interno, que recibe dicha palabra; este es exclusivamente de lectura. Cada uno de los puertos del circuito tiene caractersticas propias, estas son las siguientes :

Puerto "A": Entrada-Latch. Salida-Latch/Buffer.

Puerto "B": Entrada-Latch/Buffer. Salida-Latch/Buffer.

Puerto "C": Entrada-Buffer. Salida-Latch/Buffer. Por programacin de este circuito, el puerto "C" puede ser dividido en dos puertos individuales de 4 bits cada uno. Para diferenciar las cuatro lneas que se necesitan en el control de los modos se utilizan las dos lneas de direccin ms bajas del Bus ( A0 y A1). El significado de estas cuatro direcciones es :

A1 A0 0 1 Puerto "A" (E/S) 0 1 Puerto "B" (E/S)

1 0 Puerto "C" (E/S) 1 1 Control de los tres puertos (salida).

La lnea de control de puertos se emplea para enviar una palabra de control desde el bus hasta el puerto. sta palabra se enva por el bus de datos de la computadora, y significa la forma en que se utilizan los puertos, es decir, cul o cules se usan como entrada o de salida. Cada bit de sta palabra tiene un significado, segn se explica a continuacin : B7 = Seleccin del chip; activo en "uno" lgico. B6 y B5 = Seleccin del modo de trabajo. Normalmente se utiliza el modo "cero". B4 = Puerto "A" ; entrada =1, salida = 0. B3 = Puerto "C" ; (alto = bits 4-7); entrada =1, salida = 0. B2 = Seleccin del modo; modo "0" = 0, modo "1" = 1. B1 = Puerto "B" ; entrada =1, salida = 0. B0 = Puerto "C" , (bajo = bits 0-3); entrada = 1, salida = 0.

El 8255 tiene adems otras terminales que se encargan de dirigir todas las transferencias internas y externas de datos y control de estado. En estas, se aceptan las seales provenientes del bus de direcciones y del bus de control. Estas son las seales que llegan al chip:

CS : sta es activa en nivel bajo y es la entrada de habilitacin del chip, activada sta se tiene comunicacin entre el 8255 y el procesador. Si est en nivel alto, el bus de datos se pone en tercer estado.

RD : Entrada de control para lectura, activa en nivel bajo. Con sta, se permite al procesador leer un dato o informacin de estado en los puertos.

WR : Entrada de control para escritura, activa tambin en nivel bajo. Permite al procesador escribir un dato en los puertos.

A0, A1 : Estas son las entradas de seleccin de puertos. Permiten seleccionar a uno de los puertos de acuerdo a la palabra de control que se enve.

Las palabras de control con que se programan los modos y las formas de trabajo de los puertos vienen especificadas en las hojas de datos del fabricante. En este proyecto, se requiere escribir o sacar datos y/o seales ( convertidas si es necesario posteriormente a su salida ) por los puertos, por lo que el modo utilizado es el "modo cero".

De acuerdo al fabricante, la palabra de control que configura a los tres puertos en modo de salida es la 80h. Para inicializar al puerto, se manda por la direccin 30Fh de la computadora este 80h, y luego se mandan por las otras direcciones especificadas ms delante las palabras de control del sistema, es decir, las que caracterizan y mueven a la pantalla.

RESET : sta entrada se activa en alto; limpia el registro de control, al borrar la palabra de control activa en ese momento, y dispone a todos los puertos como entrada.

Cualquiera de los bits del puerto "C" puede ser tratado individualmente. Esto es una ventaja, pues reduce los requerimientos del software, sobre todo en aplicaciones de control.

Cuando el 8255 es programado para operar en el modo "1" o en el modo "2", las seales de control son provistas tal que pueden ser utilizadas como entradas de solicitud de interrupcin hacia el procesador. Las seales de solicitud de interrupcin son generadas por el puerto "C", pueden ser inhibidas o habilitadas mediante la fijacin o reseteo del biestable denominado INTE, con la funcin Set-Reset del puerto. sta funcin permite al programador considerar o no si un determinado dispositivo de E/S puede interrumpir al procesador sin afectar a cualquier otro dispositivo en la estructura de interrupcin. La definicin del biestable INTE es : (SET) bit = 1 F/F INTE = 1, habilitada la interrupcin. (RESET) bit = 0 F/F INTE = 0, deshabilitada.

" 74HC688 : Comparador de magnitud "

Este detector de igualdad utiliza una tecnologa avanzada CMOS para comparar bit a bit palabras de un byte de longitud; indica si son iguales o no ( es decir, es un comparador de magnitud de ocho bits). Est provisto de un solo habilitador, activo en el nivel bajo para facilitar la cascada de diversos paquetes, y as poder habilitar la comparacin de palabras mayores de ocho bits. Las caractersticas generales de operacin son :

- Tiempo de propagacin : 20 ns. - Rango de alimentacin de voltaje : 2.6 volts. - Corriente en nivel bajo : . - Corriente en nivel alto : mA.

Este dispositivo se usa por ser muy til en aplicaciones de decodificacin de bloques de memoria donde las seales de habilitacin de dicho bloque deben ser generadas por informacin de direccionamiento de la computadora. Este comparador determina para el proyecto un rango de direcciones correctas desde la 300h a la 30Fh. Por las entradas de datos de estos dispositivos se fijan las direcciones preestablecidas, mientras que las de comparacin se conectan en el bus de la PC ( las primeras ocho ), en la que se introduce la direccin a comparar para revisar si la que se envia en el momento es para la interface o para alguna otra parte en la PC. Las direcciones que se emplean son la "303h" para habilitar el primer puerto 8255, la "300h" (puerto "A"), "301h" (puerto "B"), "302h" (puerto "C"), esto corresponde a la primer tarjeta de adquisicin de datos, mientras que para la segunda se emplean las siguientes direcciones; la "30Bh" para habilitar al segundo puerto 8255, la "308h" (puerto "A"), la "309h" (puerto "B"), la "30Ah" (puerto "C").

" 74HC245, BUFFERS "

Este circuito, de la familia TTL, es un buffer bidireccional utilizado para amplificar los niveles de corriente de las seales, pues los niveles manejados son a nivel CMOS. Adems, sirve de proteccin ya que aisla las seales de la computadora de las seales de

los puertos y circuitos externos; estas son las razones por las que se utiliza en este proyecto.

" 74HC573, LATCHS "

Este circuito es un registro de 8 bits de tres estados, tambin pertenece a la familia TTL y est diseado especficamente para conducir tanto altas como bajas impedancias, su diseo le permite ser conectado sin necesidad de interface a los sistemas de puertos y esto lo hace muy atractivo para aplicaciones de puertos I/O, buses direccionales y registros de trabajo entre otras tantas aplicaciones. " CONVERTIDOR ADC0808 "

El convertidor ADC0808 es un componente para la adquisicin de datos, este circuito CMOS tiene un convertidor analgico-dgital de 8 bits, un multiplexor de 8 canales y una lgica de control que lo hace compatible con todos los microprocesadores. Para la conversin utiliza el mtodo de aproximaciones sucesivas. Este dispositivo ofrece gran velocidad, gran exactitud, mnima dependencia a la temperatura, excelente repetitibilidad y un consumo mnimo de energa, por lo tanto lo hace un dispositivo ideal en aplicaciones de control y de automotores. Las caractersticas del ADC0808 son :

* Opera radiometricamente, con 5VDC con un voltaje de referencia ajustable como span analgico. * No requiere ajuste a cero a escala completa. * Tiempo de acceso de 135 nseg. * 8 bits de resolucin. * Tiempo de conversin de 100 seg. * Fcil interface con todos los microprocesadores. * Error total de +/- LSB y +/- 1 LSB. * Consumo de potencia de 15 mW.

La figura ( 3.14 ) ilustra una forma de conexin comn entre el ADC0808 y una microcomputadora para una aplicacin de adquisicin de datos. La microcomputadora controla el momento en que se llevar acabo la conversin mediante la generacin de las seales CS y WR ( nivel bajo ). Despus adquiere los datos de salida del ADC tras generar las seales CS y RD ( nivel bajo ) despus de detectar el TPN en INTR ( nivel bajo ), la que indica el fin de la conversin. Las formas de onda de la figura ( 3.15 ) muestran las seales durante el proceso de adquisicin de datos. Note que INTR cambia hacia el estado ALTO cuando CS y WR lo hacen hacia el estado BAJO, pero el proceso de conversin no comienza sino hasta que CS y WR regresan al estado ALTO. Ntese tambin que las lneas de datos que forman la salida del ADC se encuentran en el estado de alta impedancia hasta el momento en que la microcomputadora activa las seales CS y RD; en ese instante se habilitan los buffers del ADC y los datos son transferidos sobre el canal de datos hacia la microcomputadora. Las lneas de datos regresan al estado de alta impedancia cuando CS y RD regresan al estado ALTO.

" CONVERTIDOR DAC0832 "

El DAC0832 es un circuito CMOS diseado para ser interfaz con una gran cantidad de microprocesadores. Este circuito posee una red de carga en escalera R-2R que divide la corriente de referencia y provee al circuito de excelentes caractersticas a la temperatura. Dicho circuito utiliza switches y lgica de control que activa el bajo consumo de energa y bajas corrientes de cargas de error. El doble buffer que posee, permite que la salida de voltaje del DAC corresponda a una palabra binaria mientras retiene la siguiente palabra digital; esto permite la incorporacin simultnea de algunos DACs. Las caractersticas del DAC0832 son :

* Posee un buffer doble, simple o un flujo de datos digitales de entrada. * Fcil intercambio con la serie DAC1230 de 12 bits. * Interfaz directa con cualquier microprocesador. * Tiempo de establecimiento de corriente de 1s. * Baja disipacin de potencia de 20mW. * Resolucin de 8 bits. * Linealidad de 8, 9 10 bits. * Voltaje de alimentacin de +5V. * Trabaja con +/- 10V cuando se utiliza a escala completa de 4 cuadrantes.

" AMPLIFICADOR OPERACIONAL LM324 "

El LM324 consiste de cuatro amplificadores operacionales independientes, de alta ganancia y compensacin de frecuencia interna; los cuales fueron diseados especficamente para operar como fuentes de voltaje en una gran variedad de rangos. Sus reas de aplicacin son extensas; ya sea como amplificadores de transductores, bloques de ganancia de DC, y todos aquellos circuitos convencionales donde se requieren amp. op. Sus caractersticas son las siguientes :

* Es compatible con todas las formas lgicas. * Posee compensacin de frecuencia interna. * Tiene una ganancia de voltaje de 100dB. * Tiene un ancho de banda de 1MHz. * Puede ser alimentado desde 3V a 30V, +/- 1.5 a +/-16V. * Cuenta con un voltaje de offset de 2mV y una corriente de offset de 5nA.

" COMPARADOR DE VOLTAJE LM339 "

El LM339 consiste de cuatro comparadores independientes de voltaje de alta precisin con un voltaje de offset de 2mV como mximo por todos los cuatro comparadores. Est diseado para operar en una gran rango de voltajes. Sus reas de aplicacin van desde un comparador de lmite hasta un simple convertidor analgico digital, generador de pulsos, generador de ondas cuadradas; etc. Sus principales caractersticas son :

* Comparadores de alta precisin. * La entrada de voltaje diferencial tiene un rango igual a la fuente de alimentacin.

* Maneja una diversidad de voltajes; desde 2V a 36 V +/- 1V a +/-14V. * Compatible con cualquier lgica.

3.3 SENSORES

Como humanos, frecuentemente tomamos por hecho nuestro asombroso sistema de percepcin. Vemos una copa sobre una mesa y automticamente hacemos el movimiento para alcanzarla y tomarla sin pensar nada al respecto. O al menos no estamos muy al tanto de pensarlo mucho. El llevar a cabo la simple tarea de tomar de una copa requiere una compleja interaccin de sensores; interpretacin, conocimiento y coordinacin, lo que se entiende solo un poco. Por lo que la accin de implantar un nivel de interpretacin humano en un robot es algo tremendamente difcil. La computadora paralela que se encuentra dentro de cada una de nuestras cabezas dedica grandes partes de materia gris a los problemas de percepcin y manipulacin. Lo que da como conclusin y como una realidad el hecho de que en la actualidad un robot est limitado por los sensores que se le dan y por el programa que se escribe para l.

Sensar no es percibir; los sensores son meramente transductores que convierten un fenmeno fsico en seales elctricas que un micro puede leer, esto puede hacerse por medio de un convertidor analgico digital ( ADC ), se carga un valor de un puerto de entrada/salida se usa una interrupcin externa; comnmente se necesita alguna interface electrnica entre el sensor y la computadora ( o micro ) para acondicionar y/o amplificar la seal[7].

Ya que quetzalcatl es un prototipo de robot mvil; al pensar en las necesidades mnimas de informacin que este requiere para realizar sus primeras tareas previstas como son el desplazamiento a travs de pasillos sin chocar, ms explcitamente, el poder desplazarse en lnea recta y el dar vueltas con el ngulo necesario para despus poder lograr el seguimiento de una trayectoria dada o llegar a un punto dado, se llega a la conclusin de que la informacin mnima requerida es: 1) Su velocidad y direccin, es decir, el sensar en la rueda,

2) sensar algunos objetos, ms especficamente, las distancias entre el robot en movimiento y los objetos u obstculos que se encuentren en su camino, y 3) el ngulo que hay entre el primer eslabn ( cabeza ) y el segundo ( trasero ), esto con el fin de realizar otras tareas determinadas como el ir en reversa.

Tal informacin se obtiene por los siguientes sensores componentes con un respectivo mtodo para sensar :

1) Encoder de Posicin Incremental 2) Sensores Ultrasnicos 3) Potencimetro de Precisin

3.3.1 Encoder de Posicin Incremental

Un encoder de este tipo consiste de una regla lineal o de un disco, en este caso disco, el cual es movido por la parte cuya posicin o velocidad, va a ser determinada. Este elemento incluye dos tipos de regiones o sectores que tiene cada uno, una propiedad que los distingue. Los sectores son ordenados de una manera alternada y equidistante; si sta propiedad cambiante es sensada por un dispositivo de lectura se obtiene un incremento en posicin en un cambio de salida. La simplicidad y "economa" de este mtodo son obvias, pero tiene algunas limitaciones como son: 1ro La informacin acerca de la posicin se pierde cuando la alimentacin al sistema falla cuando este es desconectado, y cuando hay fuertes perturbaciones. 2do Para obtener una salida digital compatible con un puerto de entrada/salida de una computadora es necesario un circuito contador o hacerlo de alguna forma por medio de software ( alguna interrupcin o programacin de alta velocidad, tiempo real, para obtener el tiempo de cambio entre un sector y otro, .. ) especial segn sea la aplicacin especfica. 3ro No es posible obtener la direccin de el movimiento a menos que se le agregue un elemento adicional.

Las propiedades fsicas que se usan para diferenciar entre un sector y otro pueden ser magnticas, elctricas, u pticas; cualquiera que sea el caso la salida bsica obtenida es en forma de un tren de pulsos.

El caso especfico que se maneja es el de los encoders pticos.

Algunos encoders pticos se basan en sectores opacos y transparentes, otros en sectores reflejantes y no reflejantes, y otros en interrupciones creadas por medio de perforaciones en un disco de lmina de metal muy delgada u otro material. En cualquiera de estos casos, en la cabeza lectora fija, hay una fuente de luz, normalmente un LED infrarrojo, y un fotodetector ( LDR, celda fotoelctrica o fototransistor )[8].

Ya que un encoder es un elemento bastante caro, se decide implementar un disco delgado metlico con una serie de ranuras equidistantes y homogneas, con la forma de disco dentado figura 3.17, que se acopla directamente al eje del motor.

FIGURA. 3.17 Disco delgado de metal con ranuras equidistantes y homogneas utilizado como parte de un encoder incremental

Este gira dentro de un switch ptico, que deja pasar e interrumpe un haz de luz infrarroja figura 3.18.

FIGURA. 3.18 El disco dentado montado en el eje ( la rueda se acopla al eje y este al eje del motor ) para que gire libremente entre las ranuras del switch optoelectrnico

El switch optoelectrnico H21-B1 es un par de dispositivos, emisor y receptor de luz infrarroja, colocados en un paquete plstico uno frente a otro con una ranura entre ellos por donde gira libremente el disco dentado montado en el eje de la rueda. Ms informacin acerca del dispositivo H21-B1 puede encontrarse al final de los captulos, en sus hojas de datos, en el apndice correspondientes.

El dispositivo receptor de luz de este paquete es un fototransistor con salida Darlington que est acoplado con un circuito formado por un inversor como buffer y enseguida de este un flip-flop S-R bsico, hecho con Nands, para evitar los rebotes; con lo que se obtiene a la salida un tren de pulsos elctricos cuando gira la flecha del motor.

3.3.2 Sensores Ultrasnicos Con la informacin que se ha reunido hasta ahora se decidi emplear los sensores ultrasnicos para fin de que el prototipo de robot pueda percibir informacin a cierta distancia del terreno en que se desenvuelve y as ser capaz de movilizarse.

Los sensores ultrasnicos emplean el fenmeno de la piezoelectricidad, esto es, cuando se deforman algunos materiales slidos generan dentro de ellos una carga elctrica. Este efecto es reversible en el sentido de que si se aplica una carga, el material se deformar mecnicamente como respuesta. Este principio electromagntico de conversin de energa se aplica con utilidad en ambas direcciones. El caso en que se aplica energa elctrica y se obtiene energa mecnica se emplea en pequeos vibradores, en los sistemas sonar para la deteccin acstica y deteccin de objetos bajo el agua, en equipos ultrasnicos de pruebas industriales, y muchos otros, as como los sensores que usa quetzalcatl en donde se recurre tambin al caso en que se aplica energa mecnica y se obtiene energa elctrica; al usar los dos casos de aplicacin de energa de uno y otro tipo para obtener la consecuente energa es como se obtienen distancias. El efecto piezoelctrico puede responder a ( o producir ) deformaciones mecnicas del material en muchas formas diferentes, como dilatacin en el espesor, etc. La forma del movimiento efectuado depende de la forma y orientacin del cuerpo con relacin a los ejes de los cristales y la posicin de los electrodos. Los electrodos metlicos se recubren con otros metales para unirlos al material piezoelctrico y aplicarles o extraerles la carga elctrica. Como los materiales piezoelctricos son aisladores, los electrodos se convierten en placas de un capacitor. Por tanto, un elemento piezoelctrico que se emplea para convertir movimiento en seales elctricas, puede considerarse como generador de carga y como capacitor. La deformacin mecnica genera una carga; sta se convierte en un voltaje definido que aparece entre los electrodos de acuerdo con la ley general de los capacitores[9].

El efecto piezoelctrico es sensible a la direccin, porque la tensin produce una polaridad definida en el voltaje, mientras que la compresin produce una opuesta.

As pues, si al transductor piezoelctrico de un sensor ultrasnico, con los cortes requeridos, se le aplica en sus extremos ( electrodos ) un voltaje, el cristal sufre cambios

en sus dimenciones, lo que ocasiona un cambio de presin en el medio que lo rodea ( el aire es el medio en el que se trabaja ), y viceversa, al ser sometido el cristal a un cambio de presin aparecen cargas elctricas en sus extremos, donde se crea una diferencia de potencial. Por lo que este tipo de transductor puede funcionar como emisor receptor ultrasnico. sta es la manera en que se explica el funcionamiento bsico de un sensor ultrasnico.

Para obtener la medicin de distancias con sensores ultrasnicos se trabaja con el sensor de la serie Herian Proffer el HE-US23 figura 3.19.

FIGURA. 3.19 Sensor Ultrasnico de la serie Herian Proffer modelo HE-US23. Como se puede observar una de sus caractersticas es el tener dos transductores piezoelctricos uno que funciona como receptor y el otro como emisor.

Para este sensor se toma en cuenta que el medio a travs de el cual viaja el sonido es el aire. Otro material diferente al aire se toma como un objeto ( se incluyen slidos, lquidos y gases ). Todos los objetos reflejan y absorben una porcin de la onda.

Una parte de la onda que llega a la superficie de el material es reflejada, mientras una parte de la onda penetra el material y es eventualmente reflejada por cualquier lmite de superficie encontrado mientras viaja dentro del material; por lo que tambin se recibe una seal proveniente del interior de el material.

La amplitud de la onda reflejada es directamente proporcional a la superficie disponible de el objeto reflejante. El tamao de la superficie, forma y orientacin son tambin factor que contribuye a la fuerza de la seal reflejada. 3.3.2.1 Medicin De Una Distancia

La manera de obtener sta informacin, de la distancia, se logra al hacer la medicin del tiempo de vuelo. Si se toma en cuenta T0 como el tiempo en el cual una rfaga de pulsos es transmitida y T1 el tiempo en el cual la rfaga o parte de ella es recibida, entonces la distancia D figura 3.20.

FIGURA. 3.20 Distancia "D" entre un transductor y un objeto ( medicin del tiempo de vuelo de una rfaga de pulsos TX ).

entre el sensor y el objeto se determina de la siguiente forma :

D = 0.5 * C * ( T1 - T0 ) ( 3-19 )

en donde D = distancia C = velocidad del sonido en el aire T0 = tiempo en el cual la onda de sonido es transmitida T1 = tiempo en el cual la onda de sonido es recibida

se asume a la velocidad del sonido en el aire como 344 m/s .

3.3.2.2 Algunas Caractersticas De Funcionamiento

El alcance de este sensor va desde 0.5 mts hasta 20 mts aproximadamente y/o un poco ms ( el mximo alcance depende del tamao y forma del objeto que refleja el eco ). El sensor tiene un generador de seal interno capaz de transmitir una rfaga de un nivel de sonido de 115 db, esto se consigue cuando se alimenta con 12 volts y se le aplica una simple seal de 5 volts a su cable de transmisin, en ese momento el generador interno se activa y el transductor piezoelctrico transmite una onda de sonido de 40 khz figura 3.21 graph. A y B.

FIGURA. 3.21 Graph. A. Seal aplicada al sensor; 5 volts por unos cuantos milisegundos y despus cero volts lo que causa que el sensor genere una seal de 40 khz durante el pulso.

FIGURA. 3.21 Graph. B y C. La grfica B muestra, de la misma terminal, los pulsos generados a 40 khz y en T1 la seal que es el rebote de la rfaga ultrasnica en el objeto. La grfica C muestra la seal de salida en otra terminal que es casi la misma pero " acondicionada " para una computadora o micro.

A pesar de que el sensor ya cuenta con un cable de salida digital, figura 3.21 graph. C, la seal que se produce en sta salida es muy inestable, por lo que fue necesario conectarle un circuito externo, que hiciera el trabajo, de acondicionar, para obtener la seal deseada. sta se consigue en base a un comparador, el cual emite un pulso al recibir la seal de la salida analgica del sensor, figura 3.21 graph. B, ( que se emite cuando el sensor recibe un eco ); este pulso pasa enseguida a un flip-flop tipo D ( 74LS74 ), y este convierte al pulso en un nivel alto, el cual se mantiene, pasado a travs de un buffer, hasta que es ledo por la tarjeta de expansin de puertos que se encarga de los sensores. Despus de haber ledo el nivel de indicacin, por medio de un pulso mandado por software a travs de la misma tarjeta de expansin, se pone a nivel bajo la salida del flip-flop y se deja al circuito en condiciones iniciales, listo para ser disparado, por el eco recibido, una vez ms y continuar constantemente con sta subrutina de lectura de sensores; con la que se obtiene el tiempo de vuelo del ultrasonido y por consiguiente la distancia entre el sensor y el objeto.

Ms informacin acerca de las caractersticas fsicas del sensor pueden encontrarse en la direccin de internet que se encuentra despus de la bibliografa y en las hojas de datos que se encuentran en el apndice correspondiente al final de los captulos.

3.3.3 Potencimetro de Precisin

Bsicamente, los potencimetros consisten en una resistencia provista de un contacto mvil. El movimiento del contacto puede ser de traslacin, rotacin, o una combinacin de los dos[9]. El elemento resistente se excita con voltaje de c-c o de c-a, y el voltaje de salida es ( idealmente ) funcin lineal del movimiento de entrada. Existen dos restricciones en todos los sensores resistivos. La primera restriccin es que cada uno de ellos necesita una alimentacin elctrica para dar una seal de salida, puesto que un cambio en la

resistencia no es una seal en si. Y la segunda restriccin es que, esa alimentacin, cuya magnitud afecta a la seal de salida, es limitada por el mismo calentamiento del sensor, ya que un cambio en temperatura tambin cambia el valor de resistencia.

El mtodo que se emplea ( uno de los ms usuales ) para medir pequeos cambios en resistencia consiste en colocar un divisor de voltaje en paralelo con otro que lleva el sensor ( en este caso el potencimetro ). Los dos divisores son diseados para que cuando no exista un cambio en el sensor, ambos den el mismo voltaje. As, al tomar la diferencia entre sus salidas se obtiene una seal que depende solo de la variable medida. Este arreglo es conocido como puente de Wheatstone figura 3.22.

_____________________________

FIGURA. 3.22 Puente de Wheatstone.

Este mtodo est basado en un mtodo de medicin llamado nulo, porque el voltaje en un divisor de voltaje, es comparado con el de otro divisor de voltaje que incluye la resistencia a medir. Pero la salida de voltaje puede ser medida por el mtodo nulo o por el de desviacin. Para la medicin tipo nulo, un resistor conocido, ajustable, es arreglado hasta que los dos divisores de voltaje den la misma salida. En el mtodo de tipo desviacin se mide el voltaje o corriente resultante del desequilibrio entre los dos divisores de voltaje cuando la resistencia sensible a la cantidad de inters cambia su valor[8].

Para detectar la seal de salida de un sensor en un puente, se toma en cuenta que se debe tener una adecuada impedancia de entrada, la cual debe ser alta ya que se pretende medir el voltaje de salida de un puente y es necesario reducir el efecto de carga que causa una medicin como sta, y un arreglo compatible en conexiones de tierra con la alimentacin del puente. Por lo que usa un arreglo de amplificador diferencial, figura 3.23.

FIGURA. 3.23 Amplificador Diferencial, basado en un solo amplificador operacional.

ahora ya que el voltaje de salida es

Vsal = Rf ( V2 - V1 ) ( 3-20 ) R1

y dado que R1 = R2 y Rf = Rf

y que Rf = R1

se obtiene una Vsal = ( V2 - V1 ) ( 3-21 ) salida de ganancia unitaria con una razn de rechazo de modo comn alta ( CMRR ) debido a que al colocar el amplificador

diferencial se pretende amplificar la diferencia entre los voltajes de entrada pero no la seal de modo comn ( aunque en sta aplicacin la ganancia de salida sea unitaria ). Se puede amplificar ya sea en el mismo arreglo o despus, en la magnitud necesaria, para obtener la seal y el rango deseados en el convertidor analgico digital ( ADC ) que recibe sta seal y proporciona los datos que se requieren ( informacin necesaria para calcular los ngulos entre un eslabn y otro, para la aplicacin que se pretenda ). Este dispositivo convertidor se encuentra en la tarjeta de expansin de puertos antes mencionada. Algunos datos que proporciona el fabricante acerca del potencimetro vienen en el apndice de hojas de datos al final de los captulos.

CAPITULO 4 DISEO DEL PROTOTIPO 4.1 Introduccin El diseo en ingeniera es la creacin de los planos necesarios para que las mquinas, las estructuras, los sistemas o los procesos desarrollen las funciones deseadas. El proceso de diseo incluye:

1) Reconocer una necesidad y establecerla en trminos generales. Esto define el problema.

2) Considerar varios esquemas para resolver el problema y seleccionar uno para investigarlo con mayor cuidado. Los estudios de factibilidad respaldados por investigacin especial, segn sea el caso, son caractersticas de este paso del proceso.

3) Realizar un diseo preliminar de la mquina, estructura, sistema o proceso seleccionado. Esto establece caractersticas globales amplias y permite escribir las especificaciones para las componentes principales.

4) Realizar el diseo de todas las componentes y preparar todos los dibujos necesarios y las especificaciones detalladas.

Los dibujos y las especificaciones detalladas para un diseo completo son el registro de una multitud de decisiones, algunas de ellas grandes y otras pequeas. El proyectista, en los pasos finales del proceso de diseo es bsicamente un tomador de decisiones. Debe trabajar sobre una base slida de principios cientficos, suplementados con informacin emprica. Sin embargo, debe entender que la ciencia slo puede establecer lmites dentro de los cuales debe tomarse una decisin, o dar una imagen estadstica de los efectos de una decisin particular.

Las decisiones finales se ven afectadas por muchos factores diferentes a la resistencia y a la rigidez, tales como la apariencia, el peso, las limitaciones de espacio, la disponibilidad de materiales y tcnicas de fabricacin, etc.

4.2 Decisiones en el Diseo

Se reconoce de inmediato la necesidad de tener una estructura mvil compuesta por varios eslabones, que sea lo menos pesada posible y que tenga rigidez en los espacios ms amplios ( plataformas ) para soportar algo de peso ( algunas bateras, tarjetas como los drivers, alguna tarjeta para los sensores, las piezas que sostienen a las mismas llantas ) sin sufrir ningn cambio o deformacin. De aqu que el material seleccionado para varias de las piezas es el aluminio, un metal ligero que aportar una rigidez suficiente con un grueso o espesor de la lmina relativamente pequeo.

El siguiente factor es uno de los ms importantes en el diseo. Se tiene la posibilidad y necesidad de elegir los motores adecuados ya que se cuenta con un catlogo amplio de motores, motorreductores y servosistemas y es importante hacer una decisin que no afecte el desarrollo, debido a la tardanza que tienen algunos componentes en llegar a su destino ( como es el caso de motores ).

Se hace un aproximado del peso del prototipo junto con el peso que este lleva encima. Para tener un margen de seguridad en sta decisin se emplea un valor superior al aproximado; y como otro margen de seguridad se eligen motorreductores con un torque superior al necesitado. Otros factores que intervienen en la seleccin del motor son su velocidad ( se toma en cuenta la velocidad que se desea para que el prototipo se mueva, en base al tamao de las ruedas ), el tamao de este y el consumo de potencia que tiene.

El motor seleccionado se muestra en la siguiente figura:

figura 4.1

Ya seleccionado el motor, la siguiente tarea es hacer varios esquemas, y de estos tomar el ms factible; se pretende que sea lo ms sencillo para que el prototipo pueda realizar las tareas determinadas.

Las bases, para las ideas que van a dar las piezas y/o elementos necesarios, son precisamente las tareas determinadas que se pretende que el prototipo lleve a cabo y como las lleve a cabo, ya que de stas se toman algunas opciones que despus arrojan especificaciones que son esenciales para el diseo de las piezas.

La tarea primordial del prototipo es el poder desplazarse a un lugar deseado dentro de un rea especfica. De donde se establece que el tipo de terreno donde se quiere manejar el prototipo es plano y no rugoso, y que se desea producir los giros por medio de diferencias de velocidades entre las ruedas del eslabn delantero. Lo que da como opciones el poder realizar un sistema motriz sin amortiguacin y con ruedas fijas, es decir, sin un sistema de direccin para las ruedas. Opciones que se toman en cuenta para el diseo de este prototipo.

Ya tomadas stas opciones y despus de seleccionar de entre varios esquemas, se realiza un diseo preliminar, para el que se hacen algunos anlisis de fuerzas, el cual establece caractersticas globales y permite escribir especificaciones para las piezas principales; se toma una vez ms en cuenta el criterio de margen de seguridad para las especificaciones de las piezas, aunque, cabe decir que el pequeo anlisis de fuerzas que se realiza arroja, en este caso, resultados que muestran que las piezas estn sobradas en ese punto que es el esfuerzo. Esto se debe tambin a otros factores que se toman en cuenta para el diseo de stas piezas como son las limitaciones de espacio, la disponibilidad de materiales, y tcnicas de fabricacin.

Dados los diseos, en el siguiente paso se preparan los dibujos necesarios con las especificaciones detalladas de cada pieza, para hecerlas.

4.3 PIEZAS Y ELEMENTOS DEL PROTOTIPO

Se muestran enseguida imgenes de las piezas principales con algunas caractersticas de las mismas.

En stas imgenes se muestra la plataforma frontal del robot; en la primera imagen se pueden observar las curvas y crculos que le dan la forma, y en la segunda imagen puntos y medidas de la plataforma. La ampliacin lateral en la segunda imagen se hace por las ruedas, y por el tamao de los motores; porque la maquinaria o conjunto de piezas que contiene a los motores y a las ruedas, junto con estos mismos elementos, tiene as el espacio suficiente para su instalacin.

A continuacin se muestran algunas imgenes de este conjunto de piezas mencionado y enseguida algunas de las piezas que la componen.

FIGURAS

Como se puede observar algunas de stas piezas parecen muy sencillas y en realidad algunas lo son pero cada una tiene un fin determinado, en conjunto con las dems, as como tambin sus limitantes o restricciones en lo referente a forma, medidas, colocacin, modo y seguimiento de colocacin, etc., en otras palabras, sus especificaciones y caractersticas de diseo.

FIGURA NGULOS

En sta imagen se encuentran las dos piezas donde se montan prcticamente las dems piezas de la maquinaria, una con forma de " L " y otra con forma de " U " cuadrada. La que tiene forma de " U " tiene la funcin de llevar el motor, esto es, por el lado donde se encuentra la ranura ms pequea se coloca el motor; debido a la ubicacin de la flecha en el motorreductor, la cual no es cntrica, la ranura est a la altura necesaria para que el cuerpo del motorreductor pueda ser colocado sin problemas de espacio. Otra caracterstica de sta pieza es el espacio entre las dos paredes el cual est restringido por las siguientes especificaciones: el grosor de las paredes de la " U " aunado a la longitud de la flecha de el motor, y el tamao del cople que transfiere la fuerza de el motor a la rueda. Entre la pared contraria, de la " U " ,a la que sostiene el motor y la pared de la " L " se encuentra colocado un eje que se sostiene sobre dos baleros, cada uno ubicado en cada una de las paredes mencionadas, con el fin de que la rueda y el disco de metal ( situados en el eje ) que es parte de el encoder, giren libremente a disposicin del motor. Y algunas de las especificaciones que lleva consigo sta funcin de las dos piezas son, por ejemplo, la mejor alineacin entre las piezas ( de lo contrario se restringe la libertad del eje para girar y al mismo tiempo el esfuerzo para el motor es mayor ), el espacio entre las dos piezas debe ser el justo para que la rueda y el disco dentado giren sin tocar alguno de los lados de la ranura ( que se encuentra entre las piezas ), y algunas otras, as como tambin el hecho de que la pared de la " U " contraria a el motor, tiene una altura especfica, para que el dispositivo optoelectrnico que se ubica en el filo de sta no toque uno de los bordes interiores de la rueda y pueda captar los dientes de el disco de metal sin tocarlo.

El cople, uno de los elementos ms difciles de adquirir ( es difcil encontrar quien pueda hacer una pieza como sta, o venderla por su forma y tamao especiales ) y ms necesarios. Este cople, que se muestra en las siguientes imgenes, se puede adquirir con el mismo catlogo de los motorreductores bajo las especificaciones que este muestra, y si son las adecuadas. Las hojas del catlogo donde se encuentra el cople vienen en al apndice de hojas de datos al final de los captulos.

FIGURAS COPLES

La siguiente imagen muestra la unin ( elemento mecnico que une a los dos eslabones ) como se observa este primer diseo tiene una estructura fuerte para soportar el esfuerzo que se genera en ese punto, entre los dos eslabones.

FIGURAS UNIN

sta ultima imagen que se muestra enseguida es la correspondiente a la segunda plataforma del prototipo ( plataforma trasera ), la cual lleva consigo parte de el peso total que el prototipo maneja.

FIGURAS COLA

As como stas especificaciones, funciones, restricciones y dems caractersticas del diseo se encuentran otras en las mismas piezas.

4.4 MOTORES DE CORRIENTE DIRECTA

4.4.1 Principios de operacin bsica de un motor de CD.

l motor de cd es bsicamente un transductor de par que convierte la energa elctrica en energa mecnica. El par desarrollado por el eje del motor es directamente proporcional al flujo en el campo y a la corriente en la armadura. Como se presenta en la Fig.

(4.2kuo) , un conductor que lleva corriente est colocado en un campo magntico con flujo , a una distancia r del centro de rotacin. La relacin entre el par desarrollado, el flujo , y la corriente ia, es :

Tm = Km ia ( 4.1 )

en donde Tm es el par del motor (N-m, lb-pie, u oz.-plg.), es el flujo magntico (webers), ia es la corriente de armadura (amperes), y Km es la constante de proporcionalidad. Adems del par desarrollado por el arreglo mostrado en la Fig. (4.2kuo ), cuando el conductor se mueve en el campo magntico se genera un voltaje entre sus terminales. Este voltaje la fuerza contraelectromotriz, la cual es proporcional a la velocidad del eje, tiende a oponerse al flujo de la corriente. La relacin entre la fuerza contraelectromotriz y la velocidad del eje es :

eb = Km m ( 4.2 )

en donde eb denota la fuerza contraelectromotriz (volts), y m es la velocidad del eje(rad/s) del motor. Las ecuaciones (4.1) y (4.2) forman la base de la operacin del motor de cd.

4.4.2 Clasificacin bsica de los motores de cd de imn permanente.

En general el campo magntico de un motor de cd se puede producir por bobinas o imanes permanentes. Debido a la popularidad de los motores de cd de imn permanente en aplicaciones de sistemas de control, y sobre todo; por que se adapta a las necesidades del proyecto se escoge este tipo de motores. Los motores de cd de imn permanente se pueden clasificar de acuerdo con el esquema de conmutacin y al diseo de la armadura. Los motores de cd convencionales tienen

escobillas mecnicas y conmutadores. Sin embargo, en una clase importante de motores de cd la conmutacin se hace en forma electrnica; este tipo de motor se llama motor de cd sin escobillas. De acuerdo con la construccin de la armadura, el motor de cd de imn permanente se puede descomponer en tres tipos de diseo de armadura : motores
o o o

de ncleo de hierro de devanado superficial de bobina mvil.

4.4.2.1 Motores de cd de imn permanente de ncleo de hierro.

La configuracin del rotor y estator de un motor de cd de imn permanente de ncleo de hierro se muestra en la Fig. (4.3). El material del imn permanente puede ser barioferrita, Alnico, o un compuesto de tierras raras . El flujo magntico producido por el imn pasa a travs de la estructura del rotor laminado que tiene ranuras. Los conductores de la armadura estn localizados en las ranuras del rotor. Este tipo de motor est caracterizado por una inercia del motor relativamente alta (ya que la parte giratoria est formada por las bobinas de la armadura), una inductancia alta, bajo costo y alta confiabilidad.

4.4.2.2 Motor de cd de devanado superficial.

La Fig. 4.4 muestra la construccin del rotor de un motor de cd de imn permanente de devanado superficial. Los conductores de la armadura estn pegados a la superficie de la estructura cilndrica del rotor, la cual est hecha de discos laminados sujetados al eje del motor. Ya que en este diseo no se emplean ranuras sobre el rotor, no presenta el efecto de rueda dentada . Puesto que los conductores estn proyectados en el entrehierro de aire que est entre el rotor y el campo de imn permanente, este campo tiene menor inductancia que el de estructura de ncleo de hierro.

4.4.2.3 Motor de cd de bobina mvil.

Los motores de bobina mvil estn diseados para tener momentos de inercia muy bajos e inductancia de armadura tambin muy baja. Esto se logra al colocar los conductores de la armadura en el entrehierro entre la trayectoria de regreso del flujo estacionario y la estructura de imn permanente, como se muestra en la Fig. 4.5. En este caso la estructura del conductor est soportada por un material no magntico - normalmente resinas epxicas o fibra de vidrio - para formar un cilindro hueco. Uno de los extremos del cilindro forma un eje, el cual est conectado al eje del motor. Una vista de la seccin transversal de este tipo de motor se muestra en la Fig. 4.6. Ya que se han eliminado todos los elementos no necesarios de la armadura del motor de bobina mvil, su momento de inercia es muy bajo. Como los conductores del motor de bobina mvil no

estn en contacto directo con el hierro, la inductancia del motor es muy baja; valores menores a 100 H son comunes en este tipo de motor. Las propiedades de inercia e inductancia bajas hacen que el motor de bobina mvil sea una de las mejores elecciones de actuadores para sistemas de control de alto desempeo.

4.4.2.4 Motores de cd sin escobillas.

Los motores de cd sin escobillas difieren de los mencionados anteriormente en que emplean conmutacin elctrica (en lugar de mecnica) de la corriente de armadura. La configuracin del motor de cd sin escobillas ms comnmente empleado especialmente para aplicaciones de movimiento incremental - es una en la que el rotor consta de imanes y un soporte de hierro, en el que las bobinas conmutadas estn localizadas en forma externa a las partes giratorias, como se muestra en la Fig. 4.7. En comparacin con los motores de cd convencionales el que se muestra en la Fig. ( ) , es una configuracin interna-externa . en funcin de la aplicacin especfica, los motores de cd sin escobillas se pueden usar cuando se requiere un momento de inercia bajo, como en el manejo del eje de unidades de disco de alto desempeo empleado en computadoras.

4.4.3 Curvas par-velocidad de un motor de cd.

La curvas par-velociad de un motor de cd describen la capacidad de produccin de un par esttico del motor con respecto al voltaje aplicado y ala velocidad del motor. Con referencia a la Fig. ( ), en estado estacionario, el efecto de inductancia es cero, y la ecuacin del par del motor es :

Tm=KiIa =

( 4.3 )

en donde Tm,, Ia,Ea y m representan los valores en estado estacionario del par del motor, la corriente, el voltaje aplicado y la velocidad, respectivamente. Para un voltaje aplicado dado Ea, la ecuacin ( ) describe la relacin lineal de las caractersticas par-velocidad del motor de cd. En realidad, el motor puede estar sujeto a dos tipos de saturacin o limitaciones. Una limitacin se debe a que la corriente de la armadura aumenta cuando Ea se incrementa, el circuito magntico se saturar, por lo que el par del motor no puede exceder cierto valor mximo. La segunda limitacin se debe a la corriente mxima que el motor puede manejar debido a la disipacin de calor. La Fig. 4.8 muestra un conjunto tpico de curvas par-velocidad para diferentes voltajes aplicados. La pendiente de stas curvas se determina de la ecuacin ( ) y se expresa como :

k=

( 4.4 )

El lmite del par debido a la saturacin magntica se presenta por una lnea punteada en la figura. En la prctica, las curvas par-velocidad de un motor de cd se pueden determinar en forma experimental con un dinammetro.

4. 5 Diseo de un Controlador Digital para un motor de cd.

4.5.1 Controlador PID continuo. Las leyes de control del tipo PID son importantes en Control Digital Directo debido a que a menudo son satisfactorias para operaciones normales, sin requerir de grandes modificaciones para su realizacin en una computadora digital. La optimizacin de los parmetros de control requiere de una descripcin precisa del proceso a controlar, de la condicin de operacin del mismo, as como el ndice de funcionamiento a ser optimizado. Los valores que resultan son funciones de un nmero considerable de parmetros. Esto limita las aplicaciones de manera notable si en verdad se deseas hacer una optimizacin de algn tipo.

Es posible considerar, en lugar de puntos ptimos en el espacio de parmetros, un conjunto de puntos aceptables ( o una regin ) en el espacio cuando, por ejemplo, se incrementa en un cinco por ciento el valor mnimo del ndice de funcionamiento obtenido por aplicacin de leyes obtenidas a partir de la teora del control ptimo. La utilizacin de este rango aceptable, en lugar de estrictamente puntos ptimos, hace las reglas simples y flexibles. Muchos procesos industriales se caracterizan por una respuesta a la seal escaln en forma de S. La dinmica de estos procesos ha sido representada con solo dos parmetros en las frmulas de Ziegler y Nichols. Se presentarn aqu las frmulas equivalentes para los sistemas discretos, expresadas en trminos de los mismos dos parmetros.

4.5.1.1 Reglas de Ziegler y Nichols.

Ziegler y Nichols desarrollaron sus reglas de ajuste para dos formatos diferentes, donde se utiliza el mtodo de la respuesta transitoria y el de la ganancia lmite. El mtodo de la respuesta transitoria se utiliza para sistemas sobreamortiguados*. En este mtodo los dos parmetros son R y L , donde R es el valor de la pendiente de la recta tangente de mayor pendiente que sea posible trazar sobre la curva de la respuesta al escaln del proceso, y L es el tiempo al cual la recta tangente cruza el eje del tiempo ver Fig. 4.9.

* es decir, sistemas cuya respuesta al escaln no presenta oscilaciones. En el mtodo de la ganancia lmite, los dos parmetros que se utilizan son Ku y Tu, Ku es la ganancia de un controlador proporcional que lleva al proceso al lmite de su estabilidad, Tu es el perodo de la oscilacin resultante. El controlador clsico continuo PID est descrito por la siguiente funcin de transferencia :

Gc(s) = Kc

( 4.5 )

donde :

Kc es la ganancia del controlador; Ti es la constante de tiempo de la accin integral; Td es la constante de tiempo de la accin derivativa.

Las frmulas de ajuste dadas por Ziegler y Nichols, se muestran en la Tabla 1.

Mtodo de la respuesta Transitoria

Mtodo de la ganancia Lmite

Kc

1/Ti

Td

Kc

1/Ti

Td

1/RL

--

--

0.5Ku

--

--

PI

0.9/RL

0.3/L

--

0.45Ku

1.2/Tu

--

PID

1.2/RL

0.5/L

0.5L

0.6Ku

2/Tu

Tu/8

Tabla 1

La reglas anteriores fueron derivadas por una bsqueda de los parmetros de control que proporcionaran un adecuado amortiguamiento del modo de oscilacin dominante en lazo cerrado y un valor razonablemente pequeo de la integral del valor absoluto del error para una entrada escaln. Las reglas son fundamentalmente empricas ms que tericas.

4.5.2 Algoritmo de control PID para el caso discreto.

La ley de control para el controlador PID, en el caso continuo, se puede describir como :

u(t) =K0

( 4.6 )

donde e(t)= r(t) - y(t) es el error entre la variable de referencia, r(t) y la variable controlada y(t). u(t) es la variable de control. En trminos de datos muestreados para un perodo de muestreo T se tiene :

ek = e(kT) ; uk = u(kT) ; rk = r(kT) y yk= y(kT)

donde k es un entero, k= 1,2,3,.... La ecuacin ( 4.6 ) en el dominio del tiempo discreto es :

uk = Kc

( 4.7 )

En ( 4.7 ) la integracin del error fue remplazada por una operacin de suma del rea de trapecios y la diferenciacin mediante una aproximacin por diferencias.

El algoritmo de Control Digital Directo normalmente aceptado en la prctica tiene la diferencia

Uk = uk - uk-1

como la salida del controlador (algoritmo de velocidad). De modo que la ecuacin ( 4.7 ) en el algoritmo de velocidad se transforma como sigue :

Uk -Kc

( 4.8 )

Si se sustituye ek = rk - yk en la ecuacin ( ) y al suponer que rk = rk-1 = rk-2, se tiene;

Uk =Kc

( 4.9 )

Los parmetros de control (Kc, Ti, Td ) se reemplazan ahora por :

( 4.10 )

y se obtiene entonces la expresin

( 4.11 )

En seguida se presenta un conjunto de reglas para determinar valores aceptables para los nuevos valores de los parmetros de control.

4.5.2.1 Mtodos de Ajuste.

Takahashi, Chan y Auslander propusieron en 1970, un conjunto de reglas, que utilizan los dos mtodos propuestos por Ziegler y Nichols para el controlador PID en continuo, a fin de determinar valores aceptables para Kp, KI, KD. La Tabla 2 muestra los valores propuestos por Takahashi y otros para el ajuste de los parmetros del controlador PID discreto.

Las reglas de ajuste se derivaron para sistemas lineales pero la mayora de los sistemas reales contienen algn grado de no linealidad as que es de inters prctico observar qu tan bien trabajan stas ganancias con sistemas reales.

Mtodo de la respuesta Transitoria Kp KI KD

Mtodo de la ganancia Lmite Kp KI KD

PI

PID

* Si

, 1 2, se usa

Tabla 2

Para el mtodo de la respuesta transitoria los valores de Kp y KI para el controlador PI son sumamente elevados cuando L/T tiende a cero, por lo que no se recomienda su uso.

Takahashi y otros muestran que el valor de KI para el mtodo de la ganancia lmite dado en la Tabla 2 es bastante alto cuando L = T/4 y por tanto, recomiendan una reduccin en KI cuando tal condicin se presenta. Por otra parte, el mtodo de la ganancia lmite proporciona mejores resultados que el de la respuesta transitoria cuando L/T tiende a cero. En el rango 0.5 L/T los dos mtodos proporcionan resultados similares.

Para el controlador PID, en el caso del mtodo de la respuesta transitoria, el valor de KD que se recomienda utilizar es de 0.5/RT, cuando el valor de L/T est cercano a un nmero entero. En el caso del mtodo de ajuste de la ganancia lmite las reglas propuestas son aceptables para el rango L/T 0.5. An cuando las reglas proporcionan resultados ms o menos aceptables en el lmite L/T 0, no son nunca recomendables cuando L/T 1/4.

CAPITULO 5 ALGORITMOS DE PROGRAMACIN Y MONITOREO POR COMPUTADORA

5.1 INTRODUCCIN

Dentro de la Programacin existen diferentes tcnicas para elaborar un programa. La eleccin de la mejor de ellas depende del enfoque del caso particular, las necesidades especificas del mismo y del sistema utilizado: Hardware, Tipo de Maquina, estructura interna, etc., y Software, Sistema Operativo y otros Programas relacionados.

Segn el Software empleado en las PC, se mencionan dos de los ms conocidos: --Sistema Operativo MS-DOS y el Ambiente WINDOWS.

Algunas diferencias entre estos Programas son :

MS-DOS.

En este caso, el enfoque de la programacin es orientado a los Procedimientos, es decir, el programa ejecuta una serie de acciones en forma secuencial y ordenada, y termina cuando se han realizado todas las acciones. Se dice que el usuario sigue la secuencia del programa. La Tcnica empleada es la Programacin Estructurada. (Ver Figura 5.1).

Solo es posible ejecutar un programa a la vez.

DOS tiene un soporte para salidas grficas limitado, pero permite que el programa trabaje en modo Texto ( Modo inicial por defecto al encender la PC, solo permite mostrar textos ) o modo Grfico ( Necesario para mostrar lneas, crculos y otro tipo de grficos).

Cada programa elaborado para DOS requiere su propia presentacin al usuario, lo cual permite una gran variedad de interfaz con el mismo, mientras que se requiere de mayor esfuerzo para comprender los comandos de cada aplicacin por ser diferentes.

Los Recursos de la computadora, como Memoria, Puertos, Acceso a Disco, etc., son controlados y administrados, totalmente por el Programa elaborado para DOS.

WINDOWS.

El enfoque es orientado a los Eventos o Sucesos; dicho de otra forma, el usuario realiza una accin o evento para llevar a cabo una tarea especfica. En este caso los eventos pueden presentarse en cualquier momento y no existe un orden predeterminado, por lo cual el Programa termina cuando el usuario lo determina. En este caso se puede decir que el programa sigue las acciones del usuario. La tcnica ms apropiada es la Programacin Orientada a Objetos. ( Ver figura 5.1)

Bajo Windows es posible ejecutar varios programas al mismo tiempo, por lo cual se puede compartir datos entre ellos.

Windows en cambio ofrece una presentacin estndar para el usuario la cual incluye mens, iconos, ventanas, etc. Esto permite una mayor comprensin de los comandos, ya que todas las aplicaciones Windows trabajan de manera similar, y se hace ms sencillo el aprendizaje.

Windows administra todos los Recursos de la PC, de sta forma ningn programa tiene acceso directo al Hardware de la Computadora. Esto es necesario debido a que todos los programas deben compartir el mismo equipo.

En Windows cada accin o evento ocurrido, es conocido mediante un Mensaje, sta es la forma de comunicacin entre Windows y las aplicaciones.

Un Mensaje normalmente es un valor sin signo de 16 bits (para Windows versin 3.0), o de 32 bits (para Windows 95 o NT), que para su fcil lectura es asignado a una constante simblica que comienza con las letras WM_. Dicho mensaje contiene informacin acerca de algn cambio en la interfaz del usuario, como por ejemplo si una ventana fue movida o se presiono una tecla. La base para la elaboracin de un buen programa en Windows es la comprensin y el conocimiento de los mensajes, ya que el programador debe decidir cuales mensajes debe ignorar y cuales se deben procesar

Normalmente los sistemas multitarea asignan el CPU durante un determinado tiempo para cada aplicacin, cuando el tiempo se termina la aplicacin es interrumpida y el control se pasa a otra aplicacin. En Windows no sucede esto, el control es dado a la aplicacin activa y sta voluntariamente regresa el control cuando no existen mensajes por procesar, as el control es pasado a otra aplicacin. Como los mensajes son producidos por las acciones del usuario, es este el que determina la aplicacin que trabaja ms.

Todas las salidas de Windows son grficas, esto permite crear y dibujar figuras de una forma sencilla. Al mismo tiempo se puede utilizar textos pero sern tratados como un objeto grfico, de sta forma Windows soporta grficos de alto nivel.

En la siguiente figura se exponen grficamente los enfoques de programacin para un Programa en DOS y otro en WINDOWS, antes mencionados :

Fig. 5.1 Programacin Enfocada a Procedimientos y Programacin Enfocada a Eventos.

5.2 ReQUERIMIENTOS del Programa

Para la Realizacin del Programa del Robot se toman en cuenta los siguientes requisitos necesarios :

a) El Programa debe trabajar en Tiempo Real para un adecuado Funcionamiento.

b. Proporcionar rutinas de Programacin que faciliten el manejo del Hardware de una manera sencilla y prctica, para el Seguimiento de Trayectorias.

c. Al trabajar debe tomar en cuenta los sucesos del sistema de acuerdo con la prioridad establecida.

d. El Programa es ejecutado en una misma PC, sta es la encargada del monitoreo y Control del Hardware.

e. El Programa debe tener acceso directo a los recursos de la PC.

5.3 ESTRUCTURA DEL PROGRAMA

Debido a que el programa debe tener acceso a los recursos de la PC para el control del Hardware, as como mostrar en pantalla al usuario una interfaz de control, el ambiente seleccionado es el Sistema Operativo MS-DOS.

La tcnica elegida es la Programacin Estructurada, que consiste en crear funciones con tareas especificas y que son llamadas por una Funcin Principal segn se necesiten. Dichas funciones son agrupadas en pequeos archivos conocidos como mdulos, los cuales contienen varias funciones con tareas semejantes. Los mdulos forman un proyecto que al ser compilados forman el programa ejecutable.

Un Lenguaje de Programacin que permite crear el programa de manera sencilla y eficiente, al proporcionar una serie de libreras para tener acceso directo a los recursos del sistema, es el Lenguaje C++, la versin 3.1.

Una Descripcin grfica de la forma como est organizado el Programa se muestra en la siguiente figura.

Figura 5.2 .- Representacin Grfica de la estructura del Programa.

5.4 DESCRIPCIN Y FUNCIONAMIENTO DEL PROGRAMA

Archivo de Cabecera HARDWARE.H Este archivo es incluido en el mdulo Principal, el mdulo del Men del Usuario y los mdulos de los Sensores y Motores. Contiene los prototipos de las funciones necesarias, los valores constantes correspondientes a las direcciones de memoria de las tarjetas para lectura de sensores y motores, una constante para la base de tiempo del Timer y algunos otros archivos de cabecera necesarios como : dos.h, conio.h, etc. Las Direcciones definidas son las siguientes :

0x300 = Puerto A2, Puerto A del Segundo 8255 se programa como salida y se utiliza para el disparo de los Sensores. 0x301 = Puerto B2, Puerto B del Segundo 8255 se programa como entrada. En este puerto se revisa la seal del Sensor que indica que ha recibido la seal de regreso. 0x302 = Puerto C2, Puerto C del Segundo 8255, puerto de entrada. 0x303 = Puerto de Control 2, por sta direccin se enva el valor correspondiente para la programacin del Segundo 8255. 0x308 = Puerto A1, Puerto A del Primer 8255 se programa como salida, para asignar las Velocidades al Motor 1 (Rueda Derecha) y al Motor 2 (Rueda Izquierda); as como el dato correspondiente al sentido de giro de los Motores. 0x309 = Puerto B1, Puerto B del Primer Circuito 8255 se programa como salida. Se utiliza para especificar si el dato enviado por el Puerto A1 corresponde al Motor 1, al Motor 2 o al Sentido de Giro. 0x30A = Puerto C1, Puerto C del Primer 8255 se programa como entrada para leer la seal de los Encoders de los Motores, para determinar su velocidad. 0x30B = Puerto de Control 1, por sta direccin se enva el valor correspondiente para la programacin del Primer 8255.

Los mdulos empleados se describen a continuacin :

Mdulo Administrador o Principal. ( Archivo MAIN.CPP )

En este mdulo se encuentran declaradas las siguientes variables globales, que son utilizadas para los Motores :

float VelDeseada[NO_MOT] = Velocidad Deseada de los Motores int VelMot[NO_MOT] = Velocidad Digital de los Motores float VelMed[NO_MOT] = Velocidad Medida extern float L[5] = Distancias de ciertos objetos detectados por los Sensores.

Como se observa en lugar de usar variables independientes, se emplean arreglos. Esto permite que el programa utilice menos memoria para el almacenamiento, con lo que se logra un mejor desempeo. Otra opcin es usar apuntadores, durante la ejecucin en la Memoria dinmica.

Adems si se desear aadir Motores al Robot, solo se necesita cambiar el ndice del arreglo sin necesidad de crear ms variables. La funcin Principal ( main ), declara sus propias variables y es la encargada de inicializar los datos de los circuitos de los Drivers de los Motores, as como de enviar a los mismos, el valor correspondiente a velocidad cero.

Para que el Programa se ejecute continuamente, se emplea un ciclo DO-WHILE, el cual deja de ejecutarse cuando una variable tiene un valor = 0. El uso de este tipo de bucle permite que las instrucciones se ejecuten al menos una vez antes de evaluar la condicin que determina si debe continuar o no. Inicialmente el programa, asigna un valor diferente de cero a dicha variable. Este valor es modificado cuando el usuario as lo decide.

El ciclo se encarga de realizar las siguientes tareas :

1. Revisa los valores y condiciones de los Sensores. 2. Verifica si debe mostrar los valores de velocidad en Pantalla al Usuario.

3. Revisa la Velocidad de los Motores en caso de que se asignen velocidades para describir una trayectoria. 4. Revisa si existe una entrada del Usuario. En caso afirmativo realiza la accin correspondiente a la solicitud hecha y las opciones disponibles. Dicha entrada del usuario se verifica al probar si se presion alguna tecla, seleccionada la accin mediante una instruccin de tipo " switch ".

El monitoreo de los valores en Pantalla, se realiza en modo texto, bajo el ambiente DOS, esto con el fin de dejar que el mayor tiempo se utilice por el programa para las tareas de las lecturas de sensores y motores y poder controlar el robot en tiempo real.

Mdulo de Motores. (Archivo MOTOR.CPP)

Este Mdulo proporciona las siguientes funciones para el manejo de los Motores :

Funcin para Asignar las velocidades Solicitadas por el Usuario a los Motores. void SacaVel ( int )

Para Asignar o Modificar un valor de velocidad a un Motor, se almacena en una variable el valor correspondiente al porcentaje de velocidad ( 0% a 100% ), dicho valor es convertido a un valor digital equivalente, para posteriormente enviarse a los Drivers de los Motores.

La funcin recibe un solo argumento, es un valor entero dado por el usuario que corresponde al sentido de giro de los motores, 1 = Hacia adelante, ( enva un valor igual a 0x50H ) o hacia atrs ( valor 0xA0H ). Ningn valor es retornado.

Si la velocidad es enviada por primera vez, no se asigna instantneamente, sino que gradualmente se asignan Valores desde

Velocidad Cero ( 0xFFH ) hasta alcanzar una velocidad mnima y enviar posteriormente la Velocidad deseada. Con esto se logra hacer que el Motor despus de un tiempo determinado se establezca en su velocidad, una vez que venci la inercia de las llantas. Adems cuando las velocidades de los 2 Motores son idnticas se logra el seguimiento en lnea recta.

Funcin para convertir el valor deseado de velocidad a un valor digital equivalente : void convierte (void) ;

sta funcin no recibe ningun argumento, ni regresa ningun valor, solo se encarga de leer el valor de la variable "VelDeseada" correspondiente al motor y lo convierte en un valor digital de 8 bits, el cual se encuentra entre el rango de 117 para Velocidad Mxima y 191 para Velocidad mnima.

Funcin para Fijar los Valores Digitales de Velocidad de los Motores. void FijaVel ( int )

sta funcin se encarga de enviar los valores digitales almacenados en el arreglo "VelMot" al Driver, el valor entero que recibe como argumento es el valor correspondiente al giro de los Motores. sta funcin tampoco regresa algn valor.

Funcin para Detener los Motores. void ParaMotores (void)

De la misma forma que cuando se enva la velocidad por primera vez, para detener los motores en forma suave y no con un movimiento brusco,

la velocidad se disminuye gradualmente al decrementar 1 unidad digital del valor de la velocidad. Entre cada decremento se tiene un pequeo retardo de 10 milisegundos. La Funcin no necesita argumentos, ni regresa ningn valor.

Funcin para leer las Velocidades de los Motores float lecvel (unsigned int )

La Funcin recibe como argumento un valor entero sin signo, que corresponde al nmero del Motor del cual se desea ver la Velocidad, 1 para el Motor de la rueda derecha y 2 para el Motor de la rueda izquierda.

Si se conoce el Perodo de un pulso del Encoder, as como el nmero de ranuras entonces la Velocidad se puede determinar por la siguiente frmula :

( 5-1 )

donde: T = Periodo de un Pulso en seg. n = Nmero de pulsos que se producen por 1 vuelta del Encoder. V = la Velocidad en RPMs.

Para conocer el Perodo de un Pulso se utiliza la funcin "Ciclos" definida posteriormente en el mdulo de Sensores. Por ahora la funcin "Ciclos" utiliza una interrupcin del reloj de la PC para determinar el tiempo y regresa un valor igual a cero cuando el Motor se considera con Velocidad Cero y otro valor diferente de cero para indicar que existe Velocidad.

Funcin para mostrar las velocidades Solicitadas por el Usuario void VerVel(void) Funcin para mostrar al Usuario las velocidades medidas. void VerVelMed(void) Funcin para mostrar al Usuario las velocidades Deseadas en su valor digital equivalente. void VerVelDig (void)

Estas tres funciones anteriores, no regresan algn valor, ni toman argumentos solamente se encargan de presentar en la pantalla en unas coordenadas determinadas los valores correspondientes : Para las Velocidades solicitadas por el Usuario se muestran los valores del Arreglo "VelDeseada", para valores digitales se presenta el arreglo "VelMot" y para los valores medidos "VelMed".

Para lograr que los dos Motores reaccionen al mismo tiempo se utilizan los DACs 0832 en los Drivers, los cuales contienen circuitos de amarre ( Latchs ), de sta manera se enva la velocidad correspondiente al Motor 1 y se latchea, para despus enviar la Velocidad del Motor 2 y se sostiene. Posteriormente se enva el valor correspondiente al giro de los Motores y por ltimo se habilita el Convertidor para que ambos motores inicien al mismo tiempo.

Mdulo Men. ( Archivo MENU.CPP) Mdulo que contiene las funciones necesarias para la interfaz entre el Usuario y el equipo, lo que permite la asignacin de tareas por parte del primero.

Funcin para presentar la Interfaz del Men. void Pantalla(void) sta funcin que no retorna ningn valor, ni recibe argumentos, solo presenta en pantalla informacin para el usuario, correspondiente a las acciones disponibles.

Funcin para Pedir al Usuario la Velocidad deseada de los Motores. int PideVel(void)

sta funcin se encarga de solicitar al Usuario los valores de Velocidad para cada Motor, as como el valor correspondiente al giro de los Motores. Dichos valores son verificados para asegurar que se encuentren dentro del rango correcto. El valor que regresa la funcin corresponde a el Giro de los Motores. No es necesario pasar algn argumento a la funcin cuando es llamada.

Funcin para Pedir al Usuario la Velocidad de los Motores. void Limpia(void)

sta funcin solo se encarga de limpiar la Pantalla para volver a presentar datos, esto con el fin de mantener a la vista la informacin correspondiente a las acciones disponibles para el Usuario.

Mdulo de Sensores. (Archivo SENSOR.CPP)

Funcin que medir el Perodo de Pulsos de los Encoders

int Ciclos( int )

sta Funcin se encarga de medir el Perodo de un pulso de los Encoders de los Motores. No revisa los dos Encoders al mismo tiempo, sino uno a la Vez. Para la Velocidad mxima del Motor el perodo del Pulso es de 9 milisegundos, por lo cual el tiempo que se debe muestrear el cambio de nivel para obtener una buena lectura es de al menos el doble. Para medir el Perodo se utilizan las funciones "IniciaInt " y "FinInt" definidas en el mdulo Timer. Se menciona por el momento que la base de Tiempo para el Timer, se programa con dichas funciones para 122 microsegundos, lo cual asegura que en un milisegundo aproximadamente se puede revisar 8 veces si ha cambiado el nivel del pulso. Como se puede apreciar el tiempo es suficiente para medir la velocidad mxima del motor.

Para la velocidad mnima se selecciona un tiempo fijo, ya que de lo contrario, cuando la velocidad sea cero si el programa llama a sta funcin se quedara trabado indefinidamente. El Tiempo lmite para sta velocidad se calcula con una constante igual a 446, que multiplicada por la base de tiempo, equivale a un perodo de 54 milisegundos y una velocidad de aproximadamente 10 RPMs. Con sta velocidad, debido a su propio peso, el robot no avanza y se queda esttico. Cuando es llamada la funcin primero revisa si el valor digital del pulso est en nivel "Alto" (1 lgico) o en nivel "Bajo" (0), y se espera hasta que cambia de nivel, a fin de medir el tiempo de un pulso, lo ms exacto posible.

Al terminar de leer el Perodo del pulso, la funcin regresa un valor diferente de cero para que el programa contine con el clculo. En caso de que se cumpla el tiempo lmite y no exista dicho cambio de nivel, entonces la funcin supone velocidad cero y regresa el control a la parte del programa que fue llamada, y regresa el valor cero.

Aunque la funcin lee todo el puerto C, del valor obtenido solo se examina el bit correspondiente al Motor.

Funcin para ver a que Distancia hay un Obstculo frente a los Sensores void LeeSensores( void )

sta funcin no toma argumentos, ni regresa valor alguno. Se encarga de determinar si frente a cada uno de los 5 sensores ultrasnicos existe algn objeto y a que distancias se encuentran. Para lograr una lectura correcta los 5 Sensores no se disparan al mismo tiempo, ya que puede existir interferencia entre ellos mismos y las lecturas son errneas. Al tomar esto en consideracin, se revisan los 5 Sensores en 3 partes, de acuerdo con el siguiente orden y que se muestra en la figura 5.3 : Sensores 1 y 5, Sensores 2 y 4 y por ltimo el Sensor 3. Para lograr la medicin de la distancia en base a cada sensor, son necesarias 2 seales de salida por sensor y una de entrada. Las seales de salida corresponden a la seal que limpia la memoria adaptada al sensor y la seal de disparo del mismo. La seal de entrada corresponde a la salida de la memoria que indica el momento en que se recibi la seal ultrasnica. Debido a que los sensores se disparan en 3 grupos solo se necesitan 3 seales de disparo, 3 de limpieza o reset y las 5 seales de entrada para cada sensor. El Proceso que se sigue es el siguiente : Primero se limpia la memoria, para disparar el sensor posteriormente, ( se pone el bit correspondiente a un valor 1 lgico ), y despus se revisa el bit correspondiente a la salida del sensor. Se mide el tiempo entre el disparo y la seal de regreso. En base a este tiempo es posible calcular la distancia del objeto, pues se conoce la velocidad del sonido y se sabe que el tiempo corresponde al doble de la distancia, pues el sonido va y regresa. Este Proceso se muestra en la figura 5.4.

Para cada par de Sensores los bits se revisan de manera alternada y en variables separadas se almacena el tiempo correspondiente a cada sensor. Para medir el tiempo emplean las mismas funciones y la misma base de tiempo que se usan para la medicin de velocidad de los motores.

Figura 5.3 .- Orden y Acomodo de los Sensores.

Figura 5.4 .- Seales Utilizadas para los Sensores Ultrasnicos.

Mdulo de Interrupciones del Timer. ( Archivo INTERRUP.CPP) Este Mdulo es encargado de producir tiempos peridicos mediante la interrupcin del reloj de la PC. Dichos tiempos son empleados para las mediciones de velocidad de los motores y la determinacin de los obstculos con las lecturas de los sensores ultrasnicos.

Las funciones que contiene son las siguientes:

Funcin que activa todo lo necesario para la interrupcin void IniciaInt( int )

sta funcin se encarga de activar la Interrupcin 0x70, que corresponde a la Interrupcin del Reloj CMOS de Tiempo real de la PC. Normalmente sta Interrupcin es llamada cuando el chip del reloj de tiempo real produce una seal de alarma o interrupcin peridica. Algunos BIOS de las computadoras desactivan la interrupcin peridica en la subrutina de atencin a la interrupcin, a menos que se programe la Interrupcin 0x15h con la funcin 83 y 86, las cuales permiten activar un tiempo de espera. El valor entero que recibe la funcin como argumento es utilizado para determinar la base de tiempo. sta funcin realiza los siguientes pasos : Primero desactiva las interrupciones con la macro disable(), despus programa la interrupcin 70h para la base de Tiempo requerida. Posteriormente obtiene mediante la funcin getvect de dos.h, la direccin que de la funcin que atiende la interrupcin y la almacena en una variable. A continuacin asigna en el vector de la interrupcin la direccin de la funcin del programa que se desea ejecutar cuando se produzca la interrupcin; esto se logra con la funcin setvect de la biblioteca dos.h. Finalmente activa las interrupciones mediante la macro enable() de dos.h.

Funcin que desactiva todo lo necesario para la interrupcin void FinInt( void )

sta funcin se encarga de fijar en el vector de la interrupcin, la direccin de la funcin que atiende la interrupcin, antes de utilizarse el Timer. Funcin que desactiva todo lo necesario para la interrupcin void Refresca (void)

sta funcin se encarga de enviar valores para que el Timer contine activado y trabaje en perfecto estado.

Subrutina o Funcin de Atencin a la interrupcin void interrupt handler(...)

sta funcin es ejecutada cada que se activa la interrupcin. Su nica funcin es incrementar una variable cada vez que se cumple un tiempo igual al programado en la interrupcin.

5.5 PRUEBAS DEL HARDWARE

Para verificar el Funcionamiento correcto del Hardware se realiza la siguiente prueba : El control de la trayectoria se deja por complet al Usuario, en este caso el Sistema trabaja en Lazo abierto, y es el usuario el que manualmente corrige la trayectoria. Para dicho caso las opciones presentadas en el Men del usuario fueron las siguientes :

A. Tecla " Z " = Permite al Usuario girar el robot a la Derecha. El Programa manda una velocidad mayor al Motor Izquierdo.

B. Tecla " X " = El Programa asigna una velocidad mayor al Motor Derecho para producir un giro a la Izquierda.

C. Tecla " G " = Cambia el Giro de los Motores y conserva su velocidad, es decir, si el robot camina hacia adelante al presionarse una vez "G", se desplaza hacia atrs; y al presionarse nuevamente indica que el desplazamiento es hacia el frente.

D. Tecla " P " = Detiene los Motores.

E. Tecla " C " = Manda la misma Velocidad a ambos Motores, para hacer que el desplazamiento sea en lnea recta

F. Tecla " L " = Habilita y Deshabilita la lectura de los Sensores, as como la rutina encargada de detener el Motor en caso de encontrar un obstculo.

G. Tecla " S " = Termina el Programa, detiene previamente los Motores y deshabilita a los Sensores.

H. Tecla " V " = Permite Monitorear los Valores Medidos de Velocidad.

I. Tecla " I " = Permite Asignar por Primera Vez velocidades a los Motores.

De sta forma se comprueba el perfecto funcionamiento del sistema, y queda listo para implementar algoritmos de Control especializados de una manera sencilla, solo es necesario modificar el mdulo Principal, ya que las funciones restantes ofrecen soporte al control del Hardware.

PLANEACIN Y SEGUIMIENTO DE RUTAS 6.1 SISTEMAS DE NAVEGACIN

El objetivo de este captulo es simplemente mostrar al lector el gran nmero de posibilidades que se tienen para resolver el problema de la navegacin as como la complejidad que representa. No se abordan detalladamente todos los sistemas de navegacin que existen, incluso no se profundiza en el mtodo que se aborda, ya que no est al alcance de este trabajo, ni se dispone del espacio ni del tiempo suficiente, requisitos que escapan a nuestras posibilidades.

Cabe hacer la siguiente aclaracin; el sistema de navegacin que se indica en estos prrafos no fue completamente implementado, ni probado en su totalidad, ya que no formo parte de los objetivos que se plantearon para el equipo al inicio de este proyecto de tesis, si no el de los estudiantes de posgrado.

Si el lector desea profundizar en algn tema en especial, al final del captulo se encuentra la bibliografa correspondiente[1].

El captulo en su comienzo describe lo que es un sistema de navegacin, y las partes que lo conforman, se continua con una breve descripcin de un algoritmo de navegacin, posteriormente se mencionan los diferentes sistemas de navegacin que pudieran ser considerados, y finalmente se hace una breve descripcin del sistema que se empleara por los alumnos de posgrado.

La Navegacin es la ciencia (o el arte) de direccionar el curso de un robot mvil a travs del medio ambiente en el que se desenvuelva (mar, tierra, aire). El deseo inherente de un esquema de navegacin es el de llegar a su destino sin perder su ruta o tener una colisin con algn objeto. La Navegacin incluye tres tareas : el mapeo, la planeacin de tareas, y el seguimiento de rutas. La planeacin de tareas es un proceso de alto nivel, el cul especfica el destino y algn inconveniente sobre el curso, como el tiempo. A continuacin se presenta un simple algoritmo de navegacin para viajar desde un punto inicial a una meta.

If hay un mapa then Buscar un mapa para las rutas Seleccionar una ruta con una una funcin de optimizacin

If la ruta es compleja then descomponer la ruta en varias submetas Sensar el medio ambiente

While no haya una meta do Viajar sobre la ruta ( moverse en la direccin indicada por la ruta)

If se llego a una submeta then obtener la siguiente submeta

Sensar el medio ambiente

If hay un objeto sobre la ruta then Detener el robot

If el objeto es estacionario then Actualizar el mapa Buscar otra ruta alterna a la submeta If existe una ruta alterna then Seguir la ruta alterna

Else ( si no hay ruta alterna) Abortar y replanear la tarea

Else ( el objeto es mvil ) Detenerse hasta que la ruta est sin obstculos

End ( lazo cerrado) ( Robot en la meta )

Else ( Si no hay mapa, inicializar la estrategia de Aprendizaje )

While no se est en la meta do Sensar el medio ambiente

If no hay objetos en la direccin de la meta then Moverse hacia adelante en direccin de la meta

Else ( si hay objetos en el camino)

If en otras direcciones no hay objetos then Seleccionar una direccin con un un proceso heurstico Moverse en esa direccin

Else ( el robot es detenido ) Abortar y replantear la tarea

End ( lazo cerrado ) ( robot en la meta )

End ( tarea de navegacin ).

El algoritmo comienza por checar y ver si el robot tiene un mapa del terreno. Si no lo tiene, el robot debe proceder a buscar una ruta para llegar a su meta. El algoritmo de Aprendizaje que se utiliza, trabaja si el terreno es simple, pero el robot puede moverse en crculos alrededor del terreno si este es complejo. Si el robot no tiene un mapa, busca un mapa para la posible ruta, escoge la ruta ms apropiada, y viaja a travs de dicha ruta, se asume que cada una de stas existe. Mientras recorre la ruta, el robot debe examinar con los sensores, si existe sobre la misma ruta un objeto que no se muestra sobre el mapa. Si es detectado un objeto , el robot debe tomar una accin evasiva. El problema de la navegacin es simplemente encontrar una ruta desde un punto inicial hasta un punto final, y recorrer la misma sin tener alguna colisin con objeto cualesquiera. La Navegacin se divide en tres subtareas: mapeo y modelado del medio ambiente, planeacin y seleccin de rutas; y finalmente el seguimiento de rutas y la evasin de obstculos. Esto se muestra en la siguiente figura .

Si es el modelo de percepcin de robtica, estos subproblemas son resueltos con los procesos de transformacin de la informacin interrelacionada ( Tabla x ). Los procesos de medicin incluyen todos los sensores. Las mediciones son utilizadas por los procesos de modelado y por las acciones de procesos. Los mapas del terreno son almacenados en un mapa de estructura de datos. Todos estos mapas son digitalizados, tanto los mapas existentes as como los mapas aprendidos por el robot cuyos datos son obtenidos de los sensores al desplazarse por el terreno. Los procesos de modelado analizan los datos de los sensores para construir y modificar los mapas. La segunda tarea de navegacin es la planeacin de rutas. Los procesos de percepcin buscan el mapa para las posibles rutas. Si no existe mapa, percibe la ruta entre los objetos desde el modelo bajo construccin por los procesos de modelado. Los procesos seleccionan la ruta ms conveniente de todas las alternativas posibles impuestas por las tareas. Una vez que la ruta es planeada, la tercera tarea es el seguimiento de la ruta por parte del robot. Los procesos de accin controlan los movimientos del robot con el empleo de los modelos cinemticos y dinmicos del mismo. Durante el movimiento, los procesos de percepcin continuamente examinan los datos de los sensores y comparan el modelo obtenido del medio ambiente con el mapa para evitar potenciales colisiones. Cuando una colisin es posible, el proceso de percepcin inicializa las acciones evasivas, las cuales son ejecutadas por los procesos de accin. En todos los robots mviles, el nivel final de seguridad es la deteccin de colisiones, para la que se utilizan sensores de contacto. Este nivel de seguridad es implementado por el proceso de acciones.

Tabla 6.1

Descomposicin de los procesos de navegacin; se usan los modelos de percepcin. MEDICIN Sensado del medio ambiente Deteccin de Objetos Odometra Entradas de los comandos de usuario.

MODELADO Mapa del medio ambiente Extraccin de caractersticas Modelo de Objetos Mapas de rutas

PERCEPCIN Rutas encontradas Deteccin de situaciones de colisin Aprendizaje del mapa

PLANEACIN Descomposicin de tareas en submetas Seleccin de una ruta Escoger una alternativa cuando la ruta es bloqueada

ACCIONES Navegacin Seguimiento de rutas y evasin de obstculos Control basado en los modelos de cinemtica y dinmica del robot

Los requerimientos entre el almacenaje de mapas y rutas que faciliten las bsquedas eficientes, seguido ofrecen conflictos. La seleccin de la estructura de datos determina los algoritmos usados para la planeacin de rutas.

Los mapas del medio ambiente caen dentro de cuatro amplios grupos : mapas de rutas, mapas de espacio libre, mapas orientados a objetos, y mapas de espacio compuesto. Las caractersticas de cada grupo determinan el tipo de estructura de datos a usar y los algoritmos de planeacin de rutas.

Estructura de Datos Usados

Datos Almacenados Manipulacin de Datos

Mapas Memorizacin y pantallas Caractersticas Caractersticas extradas Modelos de Objetos Objetos identificados Rutas Bsquedas de rutas Datos de Sensores Datos obtenidos y Aprendizaje de mapas.

Relaciones entre tipos de mapas y mtodos de planeacin.

Tipos de Mapas Rutas Espacio Libre Orientado Espacios a Objetos Compuestos

Estructura de -Ninguno -Grafos -Grafos de vrtices -Celdas Datos -Listas de rutas -Diagramas de -rboles y marcas -Arboles de -Memorizacin de Voronoi cuadrados Movimientos -espacio libre -Reglas -Grafos de rutas -conectividad

-rboles -Lugares

Planeacin -Enseanza -Enseanza -Enseanza -Enseanza -Bsqueda de arboles -Aprendizaje -Aprendizaje -Aprendizaje -Bsqueda de rutas -Teora de Grafos -Bsqueda de Grafos -Bsqueda de -Bsqueda de arboles -Bsqueda de Arboles Grafos -Triangulacin -Distancias Transformadas -Bsqueda de Arboles

Navegacin -Cables guas -Reconocimiento de -Reconocimiento de -Reconocimiento -Reconocimiento de Puntos Puntos de Puntos Puntos -Marcas -Marcas -Marcas -Marcas -Retroalimentacin de -Retroalimentacin de -Retroalimentacin -Reproduccin de Sensores. Sensores. de Sensores. movimientos memorizados.

MTODO No.1

Caractersticas

Tipo de Mapa: Orientado a Objetos Estructura de Datos : Grafos Mapas Globales y Locales

B-Spline Planeacin : Bsqueda de Arboles (Bsqueda de Inteligencia Artificial, A*) Navegacin : Retroalimentacin de sensores.

En situ tre estos y el mapa global. B-SPLINE

Muchos problemas en reas de investigacin como la Biologa, Fsica y la Ingeniera requieren que la informacin por procesar sea representada de manera adecuada para su mejor interpretacin. En este caso, la informacin que se quiere representar es la proveniente de los contornos o esqueletos ( los contornos o esqueletos son extrados de los objetos, estos estn contenidos en una imagen y pueden ser trayectorias a seguir por un objeto tales como un misil o un robot mvil). En estos casos, la informacin son secuencias continuas de puntos, que requieren de una etapa de representacin para su manejo posterior.

Los B-Spline son curvas parametrizadas usadas ampliamente en computacin grfica, tienen como ventaja entre otras tcnicas de representacin, el que la aproximacin resultante siempre es "suave", de fcil manejo, y adems de que el algoritmo para la representacin se ejecuta rpidamente.

Bsicamente la tcnica consiste en extraer de una curva discreta un conjunto de puntos (puntos nudo) necesarios para lograr la representacin en forma continua de dicha curva en trminos de B-Splines. Un punto nudo de unin es aquel punto en donde dos segmentos de curva se unen. Por lo tanto, estos puntos son parte de la curva. Al seleccionar en una curva discreta algunos de sus puntos nudo, puede existir entonces una curva B-Spline que se aproxima a la curva discreta. La construccin de tales BSplines se efecta a partir de un conjunto de funciones polinomiales de orden conocido o funciones bsicas.

El trmino "Spline" surge de la analoga con el curvgrafo flexible, (trazador) el cual se dobla elsticamente y describe una curva al pasar por cientos de puntos previamente definidos. La curva que adopta la forma del trazador es aquella que minimiza su energa

interna de tensin. Matemticamente, el spline es aquella curva cuya curvatura media cuadrtica es mnima, es decir es una curva muy suave que pasa por puntos fijos.

Una vez que la curva discreta ha sido representada en trminos de funciones B-Spline, es posible extraer informacin de dicha representacin y utilizarla por ejemplo para el reconocimiento de objetos a travs de su contorno o para la proposicin de la trayectoria a seguir de un robot mvil.

Para el caso del modelado de trayectorias por B-Splines las caractersticas a extraer pueden ser por ejemplo velocidades y aceleraciones cuando el parmetro de estos BSplines es el tiempo.

Como se obtiene un B-Spline.

Un B-Spline es una curva paramtrica que une dos puntos en el plano, la cual es generada analticamente al proponer el grado de un polinomio que pondera los puntos que definen al B-Spline. Los puntos que definen al B-Spline se llaman puntos de control. Estos forman el llamado Polgono de control. La continuidad del B-Spline se da por el contacto de dos segmentos curvos en un punto.

En la prctica se utilizan fundamentalmente dos tipos de curvas B-Spline: las cuadrticas y las cbicas. La construccin de cualesquiera de ellas se lleva acabo al conocer las coordenadas de los puntos de control dados por los vectores Q0, Q1, ..., Qn es decir n + 1 puntos en el plano[2].

Para la construccin de tal curva se propone una combinacin lineal en trminos de funciones polinomiales al establecer el grado del polinomio, con la consideracin de la continuidad y la invariancia de las curvas ante transformaciones, de rotacin, traslacin y cambio de escala.

FIFURA.. 6.2 Ejemplo de un B-Spline generado a partir de 4 puntos de control.

Para el caso de los B-Spline cbicos, se tiene la siguiente combinacin lineal :

Pi (t) = X0(t)Qi-1 + X1(t)Qi + X2(t)Qi+1 + X3(t)Qi+2

para i = 1, 2, ..., n-2. En este caso y representa un segmento de la curva. Las funciones Xi (t) son polinomios en trminos del parmetro t, con 0 t 1. Pi (t) es entonces un segmento de curva generado al variar t.

Las ecuaciones Xi(t) para i = 0, 1, 2, 3 son las funciones bsicas cbicas dadas por :

Para el caso de los B-Spline cuadrados, se tiene la siguiente combinacin lineal :

Pi (t) = X0(t)Qi-1 + X1(t)Qi + X2(t)Qi+1

para i = 1, 2, ..., n-1.

Las ecuaciones Xi(t) para i = 0,1, 2, 3 son las funciones bsicas cuadradas dadas por :

ALGORITMO DE BSQUEDA A*

Seleccionar una ruta de varias posibles de un grafo es uno de los problemas que utilizan tcnicas de bsquedas de inteligencia artificial. Algunas tcnicas de bsquedas son modificaciones de bsquedas de ramificaciones[3]. La bsqueda comienza por bifurcar el nodo de origen para formar un rbol de dos ramas. El costo (distancia) de cada ruta desde el nodo de origen hasta los subnodos es calculado. Este costo es comparado y la ruta con menos costo es seleccionada. El nodo al final de sta ruta es bifurcado y el costo de la nueva ruta es calculado. El costo de todas las rutas ( desde la primera hasta la ltima bifurcacin) son comparadas y la ruta con menos costo es seleccionada. Este proceso se repite hasta que se ha conseguido llegar a la meta. Ver figura 6.3a y 6.3b.

Paso 1.- S-B tiene el menor costo.

Paso 2.- S-A tiene el menor costo.

Paso 3.- S-C tiene el menor costo.

Paso 4 .- S - A - C - F es lo optimo. La bsqueda A* es un refinamiento de las bsquedas de ramificaciones. El espacio de bsqueda es reducido al borrar las mltiples rutas a un subnodo, y se deja solamente la ruta de menor costo. Esto se conoce como la utilizacin de un principio dinmico. La ruta de menor costo es seleccionada al estimar el costo de las rutas posibles de un estado a otro a travs de las bifurcaciones que se encuentran entre estos, comparndolas entre s y al seleccionar la de menor costo. Una vez hecho esto, se hace el mismo procedimiento de un estado a otro y as sucesivamente hasta lograr llagar a la meta planeada.

PROCEDIMIENTO

Primeramente se procede a obtener un modelo del medio ambiente, esto se obtiene de la siguiente manera, se realiza una vectorizacin del espacio fsico donde el robot se desempea. A travs de un plano coordenado se determina un nmero especfico de coordenadas, las cuales representan paredes, u objetos fijos, que permite localizar exactamente dos dimensiones de los mismos dentro del plano (Par X,Y). En seguida se procede a localizar los nodos y los subnodos, estos representan los posibles puntos por donde el robot puede pasar, desde un punto inicial hasta una meta. La unin de estos nodos y subnodos forman las bifurcaciones (rboles). Toda vez realizado este procedimiento se definen el punto de origen y la meta de la trayectoria. Si se observa en la Figura ( 6.5 ) los subnodos son rutas alternas de un nodo hacia otro nodo, ya que esto permite la evasin de obstculos dentro del plano.

El resultado es la obtencin del grafo, el cul est en la memoria de la computadora de abordo del robot. El robot comienza ha realizar su tarea que es la de llegar a la meta, en este momento entra en accin el B-Spline que calcula las velocidades y aceleraciones de cada rueda del robot, as mismo el controlador trabaja a la par, para verificar que cada rueda lleve la velocidad indicada por el B-Spline, as como el sistema de sensores ultrasnicos para sondear si existe un objeto dentro de la ruta planeada, si estos detectan

algn objeto inmediatamente se compara el nuevo mapa obtenido con el que se lleva en la memoria, si hay diferencias es indudable que se trata de un nuevo objeto, y comienzan las acciones evasivas. Es por este motivo que es necesario indicarlos en el plano subnodos ya que estos forman las rutas alternas. As mismo el algoritmo de bsqueda comienza ha calcular la ruta alterna de menor costo de un nodo hacia otro, se escoge la menos costosa; este trabajo se realiza sucesivamente hasta llegar a la meta especificada.

You might also like