Control y Guiado de un Robot Móvil Autónomo mediante

Anuncio
1
Control y Guiado de un Robot Móvil Autónomo
mediante Tecnología GSM.
Artal J.S., Caraballo J. y López D.
Departamento de Ingeniería Eléctrica. Escuela Universitaria de Ingeniería Técnica Industrial.
Universidad de Zaragoza, Campus Tecnológico Río Ebro. María de Luna nº 3.
Edificio Torres Quevedo, 50018. Zaragoza, Spain.
E-mail: jsartal@unizar.es. Tlfno: 976 762823. Fax 976 762226.
Abstract— Las aplicaciones constituidas por las tecnologías
celulares GSM & GPRS han demostrado sobradamente su eficacia
en el sector de las telecomunicaciones durante las últimas décadas.
Debido a que el uso del teléfono móvil está tan extendido, en el
presente documento se ha seleccionado la red inalámbrica GSM
para el desarrollo de una aplicación basada en una comunicación
bidireccional point-to-point con un pequeño robot móvil autónomo.
Dicha comunicación se efectúa a través de mensajes cortos de texto
SMS. Para la gestión de las comunicaciones se ha hecho uso de los
comandos AT, lo que permite gobernar el módulo Siemens TC65
implementado en el robot. A su vez este dispositivo es el encargado
de enviar y recibir llamadas y mensajes de texto de manera similar a
un teléfono móvil. De esta forma la comunicación entre ambos
interlocutores (usuario ↔ robot) es posible, aunque se encuentren a
grandes distancias e incluso diferentes continentes, siempre y cuando
se localicen en el interior de una zona con cobertura.
Index Terms — Mobile Communications Systems, GSM/GPRS
Network, Remote Control, Mobile Robots, AT Command.
I. INTRODUCCIÓN
E
L ámbito de las telecomunicaciones han transformado el
mundo que conocíamos, en tan apenas las dos últimas
décadas. Gran parte de esta revolución se debe a la tecnología
GSM aplicada a la telefonía móvil. Palabras cómo tarjeta SIM,
códigos PIN y PUK, SMS, llamada pérdida o buzón de voz
eran desconocidas para muchos a mediados de los años 90 y a
día de hoy, pasada una década del tercer milenio, las usamos
cómo si llevasen una eternidad entre nosotros. Los teléfonos
móviles son dispositivos que con el paso del tiempo se han
convertido en objetos familiares al alcance de todo el mundo.
Gran parte del éxito de la tecnología GSM en un principio
-Groupe Spécial Mobile-, se debe al acuerdo MoU
(Memorandum of Understanding) de las operadoras de
telefonía de los principales países europeos en 1987, que
posteriormente se amplio a países de África, Asia y Australia.
Así desde 1989 continúa con las tareas de normalización el
ETSI (European Telecommunication Standards Institute). Es
en este momento donde las siglas se mantienen, pero se
modifica su significado por “Global System for Mobile
communications”. Las redes de telefonía y normas de la
primera generación fueron muchas y distintas en cada país,
siendo por lo general incompatibles entre si. En Norteamérica
el sistema empleado fue AMPS (Advanced Mobile Phone
Service), Italia y Reino Unido optaron por TACS (Total
Access Communication System), en los países nórdicos NMT
(Nordic Mobile Telephone) mientras en España se utilizaron
NMT y TACS. Por todo ello, el acuerdo conseguido para la
segunda generación de telefonía móvil fue un paso muy
importante que permitió unificar criterios y normas,
facilitando la compatibilidad de los terminales, en beneficio de
los usuarios. De esta forma GSM es la denominada segunda
generación de telefonía móvil, GPRS (General Pocket Radio
Service) [1] se corresponde con la generación 2,5 y UMTS
(Universal Mobile Telecommunications System) es la tercera
generación conocida vulgarmente como 3G.
II. CIRCUITO DE APLICACIÓN GSM
Con objeto de implementar una comunicación inalámbrica
haciendo uso de la red de telecomunicaciones GSM, se ha
desarrollado un circuito de aplicación destinado al control del
módulo TC65 -fabricado por Siemens Mobile-. En la
actualidad para conseguir el módulo hay que dirigirse a la
compañía Cinterion. Este dispositivo puede actuar en las 4
bandas de frecuencia destinadas a la red GSM. Su control ha
sido efectuado por medio de un microcontrolador PIC16F876
-Microchip- que dispone internamente de un elemento
USART (Universal Synchronous Asynchronous Receiver
Transmitter), lo que permite efectuar la comunicación entre
los dispositivos de una manera sencilla, μP ↔ GSM TC65.
Figura 1. Módulo TC65 –Siemens- implementado en el robot.
El módem GSM posee unas dimensiones de 34×45×3,5mm y
un peso aproximado de 7,5g; ver figura 1. El sistema ofrece
una potencia de emisión de 2W (clase 4) para las frecuencias
de 850/900MHz y una potencia de 1W (clase 1) para las
frecuencias de 1800/1900MHz. Los valores de consumo más
elevados aparecen asociados a la corriente de alimentación del
dispositivo en aquellos instantes donde se produce una
comunicación con otro módulo, ya sea motivado por una
llamada entrante, el envío de mensajes cortos de texto SMS en
la red GSM o la transmisión de información por medio de la
comunicación GPRS. Según el fabricante, durante el tiempo
en que la comunicación se ha establecido, el valor máximo de
los picos de corriente puede oscilar entorno a los 3,2A. Estos
2
picos poseen una duración de 500μs y se repiten con un
periodo de 5ms aproximadamente, ver figura 2. Ésta gráfica
de consumo tiene su origen en el protocolo de comunicación
de la red GSM, donde el tiempo de enlace queda dividido en
partes -denominados slots-, alternándose los motivados por la
transmisión (instantes donde aparecen los picos de corriente) y
los debidos a la recepción de datos (momentos donde el
consumo es casi mínimo).
peligrosos (existe posibilidad de inflamación de la pila), el
proceso de carga es finalizado. Si por el contrario la energía se
obtiene a través de un dispositivo externo, una opción de
alimentación sería el uso de un regulador con bajo dropout.
Figura 3. Esquema de carga de una batería mediante el TC65.
Figura 2. Consumo de corriente durante la comunicación.
El sistema de alimentación del dispositivo TC65 debe ser
capaz de proporcionar los picos de corriente, anteriormente
citados, sin incorporar un excesivo valor de tensión de rizado
VRIPPLE ≤ 400mV. Este fenómeno obliga a que la resistencia
de salida del equipo de alimentación posea un valor
relativamente bajo; como consecuencia del mínimo valor de
tensión de alimentación que posee el módulo,
VSUPPLY = +3,2V. El valor mínimo necesario para su correcto
funcionamiento, no es coincidente con el existente en los
pines de alimentación del dispositivo, sino con el presente en
un condensador interno (valor sensiblemente inferior), figura
2. Para conocer en todo momento el valor exacto de
alimentación, se envía el comando AT^SBV. Como resultado
de la ejecución de esta instrucción el dispositivo devuelve el
valor de su tensión en milivoltios.
El fabricante recomienda que la resistencia de salida posea un
valor inferior a RO < 130mΩ. En este supuesto, son las
baterías de Litio (Litio-ion o Litio-polímero) las más
adecuadas para su uso. Estas baterías poseen como principal
característica su baja resistencia interna de salida (datos
típicos del fabricante Energizer: Pb-acid ≤ 20mΩ, LiPo ≈ 90/120mΩ, Ni-MH ≈ 25/40mΩ, NiCd ≈ 25/35mΩ o Liion ≈ 25/75mΩ). De este modo, el módulo TC65 se encuentra
preparado para una alimentación con este tipo de baterías –el
valor de tensión de una celda de litio VCell = +3,7V es
coincidente con el valor de tensión aceptado por el
dispositivo–. Así el sistema ofrece la posibilidad de efectuar
de forma automática el proceso de carga de esta batería
mediante la incorporación de un pequeño circuito externo,
figura 3. Como se puede apreciar la carga puede ser realizada
a través de un transistor controlado mediante el pin
'CHARGEGATE'. Los terminales VSense e ISense controlan los
parámetros de tensión y corriente durante el proceso de carga.
En el supuesto de no utilizar el cargador, estos pines deben
conectarse a BAT+ para el correcto funcionamiento del
dispositivo. Así el módulo permite gestionar la temperatura de
la batería, mediante la incorporación de una resistencia NTC
al pin BATTEMP. Si esta temperatura alcanza valores
El módulo TC65 dispone de un conector U.FL para incorporar
una pequeña antena exterior. Así pues se ha seleccionado una
antena de telefonía de alta ganancia, Pentaband GSM+UMTS
PC29 -Taoglas- que se encuentra construida sobre tecnología
PCB y posee unas dimensiones de 80×30×0,8mm. Su diseño
es ideal para la integración y desarrollo global de aplicaciones,
encontrándose optimizada en las redes de telefonía UMTS,
WCDMA(3G) - HSPA(3,5G) de 2100MHz y las bandas GSM
850/900/1800/1900MHz.
TABLA 1. Características Técnicas de la antena GSM+UMTS PC29.
Sistema
Frecuencia
Eficiencia
Ganancia
Impedancia
Radiación
Polarización
AMPS
GSM
DCS
PCS
UMTS
850MHz 900MHz 1800MHz 1900MHz 2100MHz
56,84% 72,98% 63,52% 55,79%
63,25%
-2,45dB -1,37dB -1,97dB -2,53dB
-1,99dB
50Ω
Omni-direccional
Horizontal
El módulo TC65 dispone de 10 pines de entrada-salida
configurables, donde el terminal GP10 puede actuar a su vez
como contador de pulsos. En la aplicación aquí desarrollada
este puerto GPIO se ha considerado como un puerto de
expansión adicional del μP. El máximo valor de su tensión de
entrada se corresponde con 3,05V considerándose el umbral
del estado alto en 2,15V. Como salida en estado bajo posee un
umbral máximo correspondiente a 0,2V. El fabricante
recomienda la conexión pull-up o pull-down de manera
externa en caso de utilizar estos terminales como salida. Los
terminales ADC1_IN y ADC2_IN pueden actuar como sendas
entradas analógicas, de forma que permiten la lectura de
valores de tensión comprendidos dentro del intervalo
-25/+2425mV; los valores de tensión situados fuera del rango
no son tenidos en consideración por el dispositivo. Del mismo
modo, el terminal SYNC, configurable mediante el comando
AT^SSYNC, nos permite visualizar el estado del módulo
cuando es conectado a un diodo led. Así pues cuando el led
permanece apagado indica que el dispositivo se encuentra en
modo POWER DOWN (apagado); un parpadeo intermitente
de 600ms on/off, indica la ausencia de la tarjeta SIM o que el
código PIN debe ser introducido; un parpadeo 75ms/3s indica
que el módulo está conectado a una red GSM mientras que
una iluminación constante, indica el modo llamada.
3
Figura 4. Desarrollo del sistema mínimo implementado en el robot.
El dispositivo Siemens TC65 utilizado es un módulo
comercial OEM -Original Extended Manufacturer- que debe
ser integrado en un sistema externo más complejo -el
dispositivo no se encuentra preparado para el uso de modo
autosuficiente-. De esta forma se ha desarrollado un sistema
mínimo constituido por el módulo TC65, una antena GSM, la
tarjeta SIM, el μP PIC16F876 y los componentes discretos
necesarios para garantizar un correcto funcionamiento, ver
figura 4. El conector correspondiente al módulo Siemens es el
elemento de mayor complejidad a la hora de integrarlo en la
placa PCB. Es un conector del tipo Molex board-board que
contiene 80 pines con unas dimensiones de 5,30×20,54mm,
debido al pequeño tamaño de los terminales 0,25×1,2mm su
soldadura debe ser realizada con herramientas de precisión.
Unas tiras de zócalos hembras rodean al módulo, lo que
proporciona el acceso a todos los terminales del dispositivo.
Figura 5. Circuito de Aplicación constituido por μP16F876.
El arranque del dispositivo se consigue mediante el pin IGT
“Ignition” a través de la introducción de un flanco
descendente procedente del terminal RA0 del μP. Tras dicho
evento se produce el arranque del módulo TC65. Aunque la
principal peculiaridad del módulo es su autonomía -puede ser
programado mediante el software Java Micro-Edition y
dispone de un puerto de salida GPIO para comunicación con
otros equipos- se ha utilizado un dispositivo externo para su
gestión. En la presente comunicación no se ha considerado
objeto de estudio la programación java del dispositivo. Así
pues, la conexión del sistema TC65 con el PIC debe realizarse
a través de uno de los puertos serie del módem -por ejemplo
ASC0- junto con los pines de la USART del PIC destinados a
la comunicación serie asíncrona TX / RX. Señalar que la
nomenclatura utilizada por el puerto serie del módulo TC65
puede llevar a confusión, ya que el terminal RXD0 se
corresponde con la transmisión de datos mientras que el pin
TXD0 pertenece a la recepción. Ambos dispositivos utilizan
voltajes de alimentación distintos (TC65 → 4,2V; PIC → 5V),
de modo que requieren una adaptación entre los niveles de
tensión correspondientes a sus puertos serie. El valor ofrecido
por el TC65 en su terminal RX adecuado al 1 lógico digital es
+3V, valor aceptado a su vez por el pin RX del μP. Pero no
así en sentido inverso donde los +5V del terminal TX del μP
no es admitido por el pin TX del TC65, provocando además
daños irreversibles en el módulo. Así los contactos del PIC
son del tipo TTL, con pull-up programable mediante software,
donde a partir de valores ≥ 2V ya consideran el estado alto (1
lógico), mientras que el 0 lógico (estado bajo), se corresponde
a valores inferiores a ≤ 0,15VCC. Este inconveniente ha sido
resuelto con la incorporación de un adaptador de niveles.
Como consecuencia de la pequeña capacidad de
almacenamiento que posee el micro en su memoria interna
(limitada a una E2PROM de 256bytes) se ha incorporado en el
circuito de aplicación una memoria Microchip 24LC16 de 16
kbits (constituidos por 8 bloques de 256bytes), figura 5. Dicha
memoria de almacenamiento está gestionada por el μP por
medio de su conexión I2C. La necesidad de una mayor
capacidad queda justificada por el número de mensajes SMS
que es preciso almacenar. Los diversos mensajes de texto
empleados junto con la serie de instrucciones (AT Command)
usadas por el dispositivo, son almacenados en las memorias
como cadena de caracteres. Estos mensajes están compuestos
aproximadamente por 100 caracteres en formato ASCII,
donde cada carácter ocupa 1 byte de memoria
aproximadamente (1sms ≅ 100bytes). Indicar del mismo
modo, que las distintas instrucciones en formato AT
Command son almacenadas en la memoria interna del μP con
objeto de reducir el tiempo de acceso a la información. La
posición que ocupa el primer carácter y el número total de
caracteres que conforman cada mensaje de texto, son
conocidos de antemano por el μP lo que facilita y agiliza su
uso. De esta manera, la cadena de caracteres ASCII que
compone el cuerpo del mensaje de texto SMS, son recogidos
de la memoria E2PROM externa a través de la comunicación
I2C y almacenados temporalmente en un registro del μP. Una
vez allí son combinados junto al AT Command, constituyendo
la instrucción a transmitir al TC65.
Figura 6. Formato de datos 8-N-1 (bits - parity - stop) a transmitir.
La transferencia de información entre el μP y el módulo TC65
se efectúa a través de una comunicación serie asíncrona que
puede ser configurable en ambos módulos con una velocidad
de transferencia de datos predeterminada de 9600 bps. Cada
paquete de información está formado por 1 bit de start, 8 bit
4
de datos y 1 bit de stop, no existiendo bits de paridad.
A. AT Command.
En los casos donde no se hace uso de la programación en
Java, el control del módulo TC65 se efectúa mediante el
lenguaje constituido por el juego de comandos de Hayes,
denominados coloquialmente Comandos AT donde sus
iniciales provienen de la abreviatura de “Attention”. Estos
comandos, creados originalmente por la compañía Hayes en el
año 1977, fueron poco a poco tomados por el resto de
compañías como un lenguaje standard para el control de los
módems. Así con la aparición de las redes GSM, la mayoría
de las compañías de telecomunicaciones adoptaron también
este lenguaje para la gestión de los diferentes terminales
móviles. En este lenguaje de comunicación se hace uso de una
serie de instrucciones standard, válidas para cualquier módem
de comunicación GSM, donde los paquetes de datos que
constituyen las instrucciones siempre poseen la misma
estructura. Estos paquetes de datos están integrados por
caracteres ASCII y son enviados mediante una transmisión
serie (lo que permite utilizar el teclado del ordenador y la
ejecución del programa Hyperterminal). De este modo, en el
dispositivo TC65 estos comandos de control son transmitidos
vía serie, mediante los puertos ASC0, ASC1 del dispositivo o
la conexión USB. Cuando el dispositivo reconoce un comando
AT válido, muestra por la línea de entrada un aviso de
aceptación “OK”, figura 7. En caso contrario, situación de
rechazo, el mensaje mostrado se corresponde con “ERROR”.
A continuación se presentan los principales comandos que han
sido empleados para el control del dispositivo TC65.
AT^SCFG: Configuración de varios parámetros principales
del módulo, el puerto serie principal y la gestión de las URC.
AT+CPIN="$$$$": Introducción de la clave PIN necesaria
para desbloquear la tarjeta SIM. Imprescindible en la
conexión a red GSM. Sin la introducción de la contraseña la
tarjeta SIM permanece invisible.
ATD665417539: Comienzo de una llamada a través de la red
GSM desde el terminal hacia el usuario cuyo número de
subscripción aparezca indicado. Para establecer la conexión
este usuario debe aceptar dicha llamada.
AT+CHUP: Permite rechazar una llamada entrante durante los
instantes en los que ésta se produce.
AT+CLIP: Permite obtener el número de teléfono del usuario
que efectúa la conexión con nuestro terminal.
AT+CMGS: Envío de un mensaje corto de texto. En primer
lugar se indica el tipo de mensaje junto con el número del
destinatario. Tras la respuesta del dispositivo se introducen el
conjunto de caracteres ASCII que forman el texto del mensaje.
AT+CMGF: Configuración del tipo de estructura de los
mensajes. Selección entre el modo PDU (los caracteres están
constituidos por 7 bits quedando todos ellos encadenados) y el
modo TEXTO –tipo utilizado en la aplicación implementada-.
AT^SBV: Valor de la tensión de entrada del dispositivo (mV).
AT+CMGR: Lectura de mensajes SMS almacenados en la
memoria del dispositivo TC65 o en la tarjeta SIM.
AT+CPBR: Lectura de un número de teléfono almacenado en
la agenda de direcciones, ya sea en la SIM o en el TC65.
AT^SCKS: Estado cerrado/abierto del zócalo SIM.
AT+CNMI: Configuración de la indicación del nuevo mensaje
SMS recibido, junto con la posición que ocupa en la lista de
mensajes acumulados en memoria. Esta posición es necesaria
para su posterior lectura.
AT^SSYNC: Configuración del pin SYNC.
AT^SCPIN: Configuración del puerto de entrada-salida GPIO.
AT+CMTI: Aviso de recepción de un mensaje de tipo SMS.
ATE: Habilita el eco del dispositivo en los puertos de
comunicación. Devuelve el carácter recibido en el puerto serie
lo que permite su visualización mediante el Hyperterminal.
En la transmisión de información entre un módem GSM y el
terminal móvil se han utilizado los mensajes de texto, que
coloquialmente se denominan SMS -short message service-.
Estos mensajes forman parte del standard GSM que permite,
de una manera sencilla, el envío de un máximo de 140
caracteres ASCII de 8 bits (modo texto) o 160 caracteres
ASCII de 7 bits (modo PDU). Si esta última opción es la
seleccionada, en ella no resulta permitido el envío de símbolos
específicos del castellano como la letra ñ o las vocales
acentuadas. Con objeto de simplificar el manejo de los SMS
por la aplicación, se utiliza el modo texto (símbolosSMS ≤ 140).
Figura 7. Ejemplos de comunicación TC65 mediante Hyperterminal.
Como ejemplo, en el envío de mensajes de texto se utiliza el
comando AT+CMGS, siendo necesarios los siguientes pasos:
1- Se envía el comando correspondiente a un mensaje corto de
texto: AT+CMGS = 665417539 <CR>
2- Espera de la respuesta de dispositivo listo: >
3- Se introducen la serie de caracteres ASCII que conforman
el cuerpo del mensaje, por ejemplo: "Destino recibido. Me
dirijo hacia la posición $$" <^Z>
4- Si el proceso ha sido correcto el módulo responde: OK.
Las URCs "Unsolicited Result Codes" son una serie de datos
y comandos enviados por el dispositivo (de formato similar a
un flag) que no son respuesta a una petición de información
del usuario o resultado de la ejecución de una instrucción
anterior. Así por ejemplo el URC "^SYSSTART" indica el
arranque del TC65. Al tratarse de una comunicación asíncrona
es importante el adecuado seguimiento de estos indicadores.
Los más utilizados son los avisos de llamada entrante "RING",
mensaje SMS recibido "+CMTI" o tensión del dispositivo por
debajo del límite mínimo "^SBC: Undervoltage", ver figura 7.
El indicador de recepción de un nuevo mensaje de texto se
efectúa mediante el flag URC “+CMTI”. Cuando un mensaje
SMS es recibido por el TC65, el dispositivo envía por su
5
puerto serie la cadena de caracteres: +CMTI: “ubicación del
mensaje”, “nº de posición” <CR>. La ubicación del mensaje
significa el lugar físico donde está almacenado el mensaje
recibido, “SM” = tarjeta SIM, “ME” = TC65, “MT” = Puede
estar en uno o en otro. De la misma forma el nº de posición,
indica la localización del mensaje recibido dentro de la lista de
mensajes. Posteriormente estos datos son necesarios para
obtener la cadena de caracteres del mensaje recibido. Esto es
posible mediante el comando: AT+CMGR = nº de posición
<CR>. Como respuesta se obtiene el número de identificación
del remitente y los caracteres que conforman el mensaje SMS.
Otro ejemplo consiste en el establecimiento de comunicación
con otro dispositivo mediante el uso del comando ATD.
1- Intento de conexión: ATD665417539 <CR>
2- Si el dispositivo no es capaz de conectar con la red GSM, la
respuesta del módulo es: NO CARRIER <CR>; si por el
contrario el terminal que recibe la llamada rechaza dicha
comunicación, la respuesta es: BUSY <CR>.
Cuando el módulo recibe un intento de conexión procedente
de otro dispositivo, aparece por el puerto de comunicación:
1- URC correspondiente a la llamada entrante: RING <CR>
2- Código de Identificación del usuario que realiza la llamada:
+CLIP:”665417539”, 129,,,,0
3- Estos avisos aparecen cada segundo durante el tiempo que
el usuario que efectúa la llamada intenta la conexión.
4- Para rechazar la llamada entrante: AT+CHUP <CR>
En un principio, para la configuración inicial del módulo y
comprobar su correcto funcionamiento, se realizó la conexión
del mismo al PC a través del USB. Así mediante el programa
Hyperterminal se efectuó la configuración del puerto serie 0
-RXD0 y TXD0- para que fuese compatible con el PIC. Entre
los parámetros que deben ser redefinidos se encuentran la
velocidad de transferencia de datos “bit-rate”, paridad, etc...
Otras variables a configurar son las relacionadas con la tarjeta
SIM incorporada al dispositivo. En ella se almacenan los datos
correspondientes al cliente, como por ejemplo el número de
teléfono que se utiliza para la identificación en la conexión a
la red GSM. Las opciones de seguridad también constituyen
otra serie de parámetros a configurar en la SIM, por ejemplo
el número PIN está compuesto por 4 caracteres alfanuméricos
que deben ser introducidos para desbloquear la tarjeta. La
mayor parte de estos parámetros quedan registrados en la
memoria del módem y no es necesario repetirlos cada vez que
es encendido el equipo.
B. La Tarjeta SIM.
La tarjeta SIM (Subscriber Identity Module) es un dispositivo
de almacenamiento de pequeño tamaño, inteligente y
desmontable utilizado en teléfonos móviles o módems. El uso
de este componente es obligatorio para operar en la red de
comunicaciones GSM. El equivalente a la tarjeta SIM en las
redes UMTS (Universal Mobile Telecommunications System)
se denomina UICC – Universal Integrated Circuit Card. La
tecnología UMTS es usada en los móviles de tercera
generación siendo sucesora de la técnica GSM. Sus
principales características son la capacidad multimedia,
elevada velocidad de acceso a Internet y la incorporación de
una extensa variedad de servicios [2, 3], ver figura 8.
Figura 8. Estructura interna de una tarjeta SIM.
En el interior de la SIM se encuentran parámetros básicos
como la identidad del usuario -utilizada para autentificarse
ante la red, de esta manera es posible intercambiar la línea de
un terminal a otro simplemente cambiando la tarjeta-, la
identificación del área local LAI - Local Area Identification,
el nombre del proveedor de servicios (MoviStar, Vodafone,
Orange,...) junto con el número de serie de identificación
IMSI – International Mobile Subscriber Identity o la clave de
autenticación Ki – Authentication Key. Cada SIM dispone de
una clave Ki única, posee un valor de 128bits (16bytes) y
tiene por objeto el permitir la identificación de la tarjeta en la
red. Todos estos datos se encuentran disponibles en el interior
de la memoria que posee una capacidad de almacenamiento
del orden de 16 a 512kbytes. El dispositivo que contiene la
SIM (teléfono móvil, módem GSM...) la utiliza para
almacenar una cantidad limitada de mensajes SMS o la agenda
de direcciones del usuario -donde se almacenan números de
identificación de otras personas y números de servicios del
proveedor de la red-. La tarjeta SIM standard más popular
posee 8 contactos entre los que destacan los terminales IO
(línea serie de entrada y salida de datos) y CLK (señal de reloj
fC ≤ 5MHz), operando a una tensión de alimentación de
+1,8/3V (ISO/IEC 7816-3) [3]. La tarjeta empleada en nuestro
supuesto es del tipo mini-SIM card y posee unas dimensiones
de 25×15×0,76mm, siendo su consumo ≤ 20mA (máximo
valor de corriente capaz de proporcionar el TC65). A su vez el
módulo TC65 dispone del pin CCIN (no posee equivalencia
con la tarjeta SIM) que situado sobre el zócalo indica cuando
se encuentra cerrado conteniendo en su interior una tarjeta. De
esta manera, es utilizado para evitar errores de funcionamiento
cuando la tarjeta es extraída del zócalo de forma insegura [3].
Una vez que el dispositivo TC65 ha sido encendido, es
necesario introducir la orden de desbloqueo de la tarjeta SIM
por medio del comando AT+CPIN=$$$$. Este requisito puede
ser omitido si durante la configuración no se ha considerado el
parámetro de seguridad. La conexión a la red GSM se efectúa
de forma automática por el módulo. Para lo cual la tarjeta SIM
debe encontrarse activada, es decir con el usuario dado de alta
en una compañía que opere en territorio nacional. Si por el
contrario se dispone de una tarjeta prepago es preciso disponer
de saldo para efectuar acciones como enviar un SMS o llamar
a otro usuario. Mediante el comando AT+CREG es posible
comprobar si nos encontramos en una red GSM con el módulo
preparado para el intercambio de información.
6
C. Configuración mediante Hyperterminal.
La configuración previa y comprobación de funcionamiento
del dispositivo TC65 es realizada mediante la conexión USB
del ordenador. Los terminales destinados a esta conexión son
USB_IN, USB_DP y USB_DN, utilizando como referencia
una masa cualquiera del módulo. El driver necesario para su
reconocimiento es enviado por el fabricante o distribuidor
junto al dispositivo en el momento de la compra y debe ser
instalado antes de su utilización. También se adjuntan ficheros
con los datasheets del dispositivo, lista completa de comandos
AT, descripción del hardware y otras herramientas útiles para
el desarrollo de una aplicación. Así mediante el programa
Hyperterminal incluido en Windows es posible introducir las
diversas instrucciones, configurando las características del
puerto serie y efectuando al mismo tiempo un chequeo de las
diferentes funcionalidades del dispositivo, de forma previa a
su implementación. Cuando el módulo ha sido configurado, su
gestión se efectúa de manera autónoma por el μP del robot.
III. APLICACIÓN DEL TC65 AL ROBOT
El circuito constituido por el dispositivo TC65 ha sido
integrado en un pequeño robot móvil autónomo (denominado
MBot) con objeto de garantizar una comunicación inalámbrica
mediante la red GSM. De esta forma la información derivada
de las diversas incidencias del robot puede ser recibida por
parte del usuario. La comunicación se ha efectuado a través de
un puerto de expansión del MBot y el puerto B del
PIC16F876 que es el encargado a su vez de gestionar el TC65.
Este robot opera en el interior de una pequeña aplicación
logística, donde traslada objetos entre los diferentes puntos del
almacén con la ayuda de una herramienta tipo pinza, figura 9.
Figura 9. Robot Móvil denominado “Teseo”, trasladando un
pequeño objeto a las coordenadas de destino.
Con objeto de establecer un canal de comunicación e iniciar
su funcionamiento, el MBot debe recibir 2 llamadas -para
evitar posibles errores- desde un dispositivo conocido (el
número de usuario debe encontrarse almacenado en la SIM).
Esta llamada puede ser efectuada, por ejemplo desde un
teléfono móvil o un módem GSM conectado al ordenador. Así
pues, una vez se haya establecido la comunicación, desde el
MBot se le remite al usuario un SMS "Conexión establecida.
A la espera de destino" con la finalidad de informar sobre la
constitución de dicha conexión. A partir de este momento el
robot permanece en modo stand-by a la espera de recibir
nuevas instrucciones. Por su parte el usuario debe enviar un
SMS indicando al MBot las nuevas coordenadas de la
dirección de destino. Cuando el robot inicia su desplazamiento
transmite un SMS de confirmación "Destino recibido. Me
dirijo hacia la posición $$", donde indica su cometido al
cliente. Una vez que ha llegado al destino y con el objeto
atrapado, el usuario recibe otro mensaje "Misión completada.
Pieza recogida. En espera del nuevo rumbo" solicitando el
nuevo destino al que transportar el objeto. De este modo, el
MBot va cumpliendo las diferentes solicitudes hasta que la
persona envía un SMS con la finalización de la maniobra "Fin
de operaciones", tras la cuál el robot se traslada a su posición
de referencia.
Hay que indicar que el pequeño robot también transmite un
SMS predefinido con objeto de indicar al usuario las diversas
incidencias que van sucediendo durante el transcurso del
desplazamiento. Así estos mensajes tienen lugar por ejemplo
en una de las siguientes circunstancias: tensión de
alimentación por debajo del umbral mínimo "Bajo voltaje,
necesidad de energía", ruta cortada por objeto fijo o móvil
"Error. Ruta cortada por objeto fijo/móvil", fallo en la
navegación "Error. Fallo en la navegación", estación de
destino sin objeto "Error. No existe objeto en el destino",... El
circuito de comunicación también transmite un SMS de forma
autónoma si se detecta un fallo en la comunicación o cuando
el MBot se encuentre próximo a un lugar sin cobertura.
IV. CONCLUSION
En el presente documento se ha descrito una aplicación de
control y guiado de un pequeño robot móvil autónomo, basada
en la tecnología GSM, mediante el módulo TC65 gestionado a
su vez por un microcontrolador PIC. Dicha aplicación permite
la comunicación bidireccional point-to-point entre el robot y
el usuario por medio de llamadas y mensajes de texto SMS,
que contienen la información necesaria para efectuar las
acciones y movimientos deseados dentro del entorno logístico
planteado. En su implementación se han utilizado los
comandos AT para controlar al módulo GSM, gestionando por
ejemplo el envío, recepción y lectura de mensajes SMS. Una
de las principales ventajas de la red GSM es la posibilidad de
que el usuario y el robot se encuentren en lugares e incluso
continentes diferentes, existiendo comunicación siempre que
ambos interlocutores se encuentren dentro de una zona con
cobertura de telefonía.
ACKNOWLEDGMENT
Los autores agradecen la ayuda financiera concedida por la
Universidad de Zaragoza para el desarrollo del presente
trabajo, a través del proyecto PIIDUZ_10_2_528.
REFERENCES
[1]
[2]
[3]
Ghribi B., Logrippo L. "Understanding GPRS: the GSM packet radio
service". Elsevier Science Direct. Computer Networks, vol. 34, issue 5.
November 2000, pp763 to 779.
GSM 11.11. Digital Cellular Telecommunications System (Phase 2+).
Specification of the Subscriber identity Module – Mobile Equipment
(SIM-ME) Interface. http://www.3gpp.org/ftp/specs/html-info/1111.htm
GSM 11.14. Digital Cellular Telecommunications System (Phase 2+).
Specification of the SIM Application Toolkit for the Subscriber Identity
Module - Mobile Equipment (SIM-ME) Interface.
Descargar