1 Introduccin
Comunicar nuestro robot con un ordenador puede tener un montn de aplicaciones tanto en la fase de desarrollo como en el funcionamiento final. De esta forma podremos, programar, tele-operar o recoger informacin de los sensores hacieno uso de un ordenador. En interface de comunicaciones que usemos depender de la cantidad de datos a trasmitir y de la distancia mxima a la que se encuentre nuestro robot. En nuestro caso hemos utilizado el puerto serie RS-232 por su sencillez de manejo y por encontrarse disponible en la mayora de los ordenadores.
En realidad en la mayora de las aplicaciones ser suficiente con utilizar las seales de Recepcin (RX), Trasmisin y masa (GND). El resto de ellas sirven para controlar el flujo de informacin y se utilizaban cuando se conectaban dispositivos especialmente lentos.
pongamos en nuestro ordenador. Otro detalle importante es el de los niveles de tensin. La mayora de estos dispositivos funcionan con niveles de salida TTL (entre 0 y 5V) que habr que adaptar adecuadamente para que sean compatibles con los de la RS-232, tal y como veremos ms adelante.
6.1 Comunicacin del PC con el Robot por el puerto serie mediante un MAX 232
- Conexin de un microcontrolador al puerto serie del PC Para conectar el PC a un microcontrolador por el puerto serie se utilizan las seales TX, RX y GND (transmisor, receptor y masa). El PC utiliza la norma RS232, por lo que los niveles de tensin de los pines estn comprendidos entre +15 y -15V. Los microcontroladores normalmente trabajan con niveles TTL (0-5v). Es necesario por tanto intercalar un circuito que adapte los niveles:
Uno de los circuitos ms usados para esta aplicacin es el MAX232. - El circuito MAX-232 Este chip adapta los niveles RS232 y TTL, permitendo conectar un PC con un microcontrolador. El montaje es bastante sencillo ya que slo es necesario este chip y 4 condensadores electrolticos de 22 micro-faradios, tal y como se muestra en el siguiente esquema:
- Cable de conexin Nosotros hemos utilizado el cable serie macho-hembra no cruzado, y en el circuito un conector hembra db9 para circuito impreso.
Pero pueden usarse tambin otros tipos de cables como el cable telefnico o fabricar un cable serie utilizando cable plano de bus.
Es bastante comn que los ordenadores porttiles modernos no dispongan de ningn puerto serie RS-232, seguramente para ayudar a reducir su precio. Una de las soluciones consiste en adquirir algn tipo de circuito adaptador que nos proporcione un puerto RS-232 a partir de uno de los interfaces de comunicaciones de los que disponga el portatil, como el apatdador RS-232 a PCMCIA que se muestra en la foto. Por contra si es bastante habitual que dispongan de varios interfaces USB, por ello nosotros hemos optado por usar un adaptador RS-232 a USB para comunicarnos con nuestros robots. Una solucin muy econmica y funcional es usar un cable como el que se usa para conectar un telfono mvil con un ordenador como el CA-42 que se muestra en la foto. Esta solucin tiene la ventaja adicional de no neecsitar adaptador de niveles (MAX232) ya que su salida es en TTL 100% compatible con los nivels del puerto serie del microcontrolador.
Una forma muy cmoda de establecer la comunicacin entre el robot y el ordenador es mediante una conexin serie inalmbrica. Para hacer esto nosotros hemos utilizado una pareja de radiomodems que permiten establecer una comunicacin serie RS-232, en modo "Half Duplex" a una velocidad mxima de 19200 baudios (bastante rpida). Para hacer esto son necesarios dos dispositivos, uno de ellos se conecta al ordenador y el otro al robot. Aunque los dos dispositivos que hemos utilizado usan el mismo mdulo de radio (un
Easy Step S350170), son distintos para ayudarnos a simplificar las conexiones.
En el ordenador hemos colocado un RF04 de EasyRadio que se conecta mediante un puerto USB al ordenador del que tambin toma la alimentacin. Esto nos ahorra usar una alimentacin externa para dicho mdulo. Para que funcione correctamente en nuestro PC, solo hay que instalar un pequeo driver que nos implementa un puerto serie virtual.
En el robot hemos instalado un Radio Telemetry Data Module de Active Robots. Este mdulo se comunica mediante RS232 e incorpora su propio MAX232 para aceptar niveles de entre +/-15v. Dado que nuestro controlador (dsPIC30F6010A) dispone de niveles TTL a su salida del puerto serie, eliminamos el MAX232 del modulo anteriormente mencionado para evitar poner un segundo conversor de niveles.
7 Programas
Una de las formas ms sencillas de enviar informacin al PC mediante el puerto serie con el objetivo de que se muestre en la pantalla del mismo, es usar un programa de emulacin de terminal (como el Hyperterminal de Windows).
El uso de un programa de este estilo nos permite, adems, enviar los caracteres ASCII de las teclas que pulsemos en el teclado del ordenador a nuestro robot. De esta forma podremos establecer un sistema sencillo de comandos como, por ejemplo, que nos enve el valor de la tensin de las bateras del robot cuando se pulse la tecla "B" del ordenador. Un segundo nivel de aplicacin consiste en hacer un programa en el ordenador, que nos muestre la informacin y nos permita enviar comandos de una forma ms visual. Nosotros hemos realizado un par de estos programas usando LabVIEW. Este programa nos muestra el control de velocidad que hemos implementado en un robot que dispone de una plataforma onmidireccional de tres ruedas. Las grficas nos muestran la velocidad terica (en blanco) para cada uno de los motores y la velocidad (en rojo) leida de sus respectivos encoders. La principal utilidad es verificar el algoritmo de control usado y permitirnos un correcto ajuste del mismo.
Esta segunda aplicacin es un poco ms completa y adems de mostrarnos informacin del robot (identificacin, estado de las bateras...) nos permite controlar el robot de forma remota indicando que realice un determinado movimiento e incluso ajustar algunos parmetros del mismo como la velocidad o la aceleracin.