Você está na página 1de 8

Comunicaciones entre el robot y el PC mediante el puerto Serie

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.

2 El puerto serie RS-232


RS-232 (o ms correctamente EIA RS-232C) es una interfaz que designa una norma para el intercambio serie de datos entre dos dispositivos, como dos ordenadores o un ordenador y otro tipo de dispositivo (un robot en nuestro caso). La Norma RS-232 fue definida para conectar un ordenador a un modem. Adems de transmitirse los datos de una forma serie asncrona son necesarias una serie de seales adicionales, que se definen en la norma. Las tensiones empleadas estn comprendidas entre +15/-15 V, representando -15V el "1" lgico y +15V el "0". La interfaz RS-232 est diseada para distancias cortas, de unos 15 metros o menos, y para unas velocidades de comunicacin bajas: de no ms de 20 Kb. La interfaz puede trabajar en los modos simplex, half duplex o full duplex. En un canal simplex los datos siempre viajarn en una direccin, por ejemplo desde DCE a DTE. En un canal half duplex, los datos pueden viajar en una u otra direccin, pero slo durante un determinado periodo de tiempo; luego la lnea debe ser conmutada antes que los datos puedan viajar en la otra direccin. En un canal full duplex, los datos pueden viajar en ambos sentidos simultneamente. En la actualidad el puerto RS-232 se utiliza principalmente en modo full duplex para conectar dispositivos perifricos (modem, impresora...) a un ordenador o para comunicar ordenadores entre s.

3 Comunicaciones serie asncronas


En una trasmisin serie asncrona, como el RS-232, los bits de datos se envan secuencialmente en el tiempo a una determinada velocidad de trasmisin (baudrate). Por ser la comunicacin asncrona no se trasmite ninguna seal de reloj, por ello es necesario configurar el emisor y el receptor a la misma velocidad. En la transmisin primero se enva un bit de START (permite la sincronizacin), a continuacin los bits de datos (primero el bit de mayor peso) y finalmente el bits de STOP. El nmero de bits de datos y de bits de STOP es uno de los parmetros configurables, as como el criterio de paridad (par o impar) para la deteccin de errores. Normalmente, las comunicaciones serie tienen los siguientes parmetros: 1 bit de Start, 8 bits de Datos, 1 bit de Stop y sin paridad.

4 Implementacin del RS-232 en un PC


En la mayora de los ordenadores podemos encontrar uno o dos puertos RS-232. Antiguamente se implementaban mediante un conector de 25 contactos, pero en la actualidad lo ms normal es que se use un conector hembra de 9 contactos tipo DB9. Esta es la asignacin de seales en un conector DB9 de un PC (DTE): 123456789DCD (Data Carrier Detect) RX (Reception signal) TX (Transmision signal) DTR (Data Terminal Ready) GND DSR (Data Sheet Ready) RTS (Request To Send) CTS (Clear To Send) RI (Ring Indicator)

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.

5 Implementacin del RS-232 en un microcontrolador/microprocesador


Si nuestro robot incluye un microcontrolador, lo ms probable es que disponga de un mdulo interno dedicado a las comunicaciones serie asncronas, que podemos usar para conectarnos al puerto RS-232 de un ordenador Si este no es el caso, siempre podemos conectar un dispositivo externo, denominado UART (Universal Asynchronous Receiver-Transmitter), que se encargue de realizar esta funcin. Para que la comunicacin funcione correctamente, el programa de nuestro robot deber configurar los parmetros de esta adecuadamente, a los mismos valores que

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 Comunicaciones entre el robot y el PC


Si tenemos puerto RS-232 tanto en el ordenador como en el controlador podemos realizar la comunicacin entre estos de las sigueintes maneras:

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.

6.2 Comunicacin PC-Robot mediante USB

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.

6.3 Comunicacin PC-Robot de forma inalmbrica

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.

Você também pode gostar