You are on page 1of 13

Seminario de Biotelemetra

FIUNER Bioingeniera
www.bioingenieria.edu.ar
Por: Daniel Slepikas
(www.slepikas.com)
Marzo 2015

Trabajo final:
Anlisis de la capacidad de transmisin
de bioseales mediante Comunicacin Bluetooth
utilizando el mdulo HC06
(entre un mdulo Arduino y un Telfono Celular o Tablet)

Introduccin
Se pretende analizar la capacidad de transmisin de bioseales a un celular o tablet mediante
comunicacin bluetooth utilizando el mdulo HC06 de Arduino. El objetivo del trabajo se centra en el
hardware elegido y por tanto no se analiza aqu la programacin del mdulo Arduino, ni del telfono o
tablet.
Para la implementacin prctica se utiliz un mdulo Arduino UNO, aunque se hace al final una
comparacin con el Arduino Mega, un mdulo Bluetoot Arduino HC06 y un telfono phablet Sony Xperia
Ultra. La aplicacin utilizada para recibir, procesar y visualizar los datos es una versin de prueba de la
aplicacin Bluetooth Graphics disponible en la tienda Android.
A continuacin se resumen los conceptos y elementos utilizados

Baudio
El baudio (en ingls baud) es una unidad de medida utilizada en telecomunicaciones, que representa el
nmero de smbolos por segundo en un medio de transmisin digital.
Cada smbolo puede codificar 1 o ms bits, dependiendo del esquema de modulacin.
Es importante resaltar que no se debe confundir la velocidad en baudios (baud rate) con la tasa de bits (bit
rate), ya que cada evento de sealizacin (smbolo) transmitido puede transportar uno o ms bits. Solo
cuando cada evento de sealizacin (smbolo) transporta un solo bit coinciden la velocidad de transmisin
de datos en baudios y en bits por segundo. Las seales binarias tienen la tasa de bit igual a la tasa de
smbolos (rb = rs), con lo cual la duracin de smbolo y la duracin de bit son tambin iguales (Ts = Tb).

www.slepikas.com
1

Tasa de baudios (Baud rate)


Como se ha dicho, aunque a veces se confunden los baudios con los bits por segundo, son conceptos
distintos. En transmisiones digitales ocurre lo siguiente: la informacin digital, codificada en bits,
normalmente no se puede enviar directamente por el medio de transmisin (por ejemplo asociando un
nivel elctrico al 1 y al 0, tpicamente 5 V y 0 V, respectivamente) debido a que los medios de transmisin
suelen estar limitados en banda esto es, que solo dejan pasar las componentes frecuenciales de una seal
que se encuentren en un rango determinado de frecuencias (por ejemplo, entre 1 kHz y 4 kHz).
Ocurre que al codificar los bits, como un nivel elctrico, la seal sufre transiciones muy rpidas, lo que
genera frecuencias muy altas. Por ejemplo, si se quiere transmitir un 1 y despus un 0, hay que pasar de
5 V a 0 V inmediatamente.
Una manera de solucionar esto es codificando los bits de otra manera; por ejemplo, asociando cada bit a
una seal que el medio s admita, como por ejemplo, senos y cosenos; si el medio limita a seales que se
encuentren en el rango de 1 kHz y 4 kHz, podemos transmitir una seal sinusoidal de 2 kHz para expresar
un 1 y otra de 3 kHz para expresar un 0, lo que sera una manera primitiva de modulacin FSK (frequency
shift keying o codificacin por desplazamiento en frecuencia). Estas seales tienen un tiempo de
duracin comnmente llamado tiempo de smbolo T, de modo que cada T segundos se transmite una de
las dos seales. Como cada seal codifica 1 bit, cada T segundos se transmite 1 bit, luego la tasa de bits es
1/T bps (bits por segundo), que en este caso coincide con los baudios.
Puede ser interesante codificar de una manera ms complicada, usando por ejemplo cuatro senos; as un
seno a 1 kHz significa 00, uno a 2 kHz corresponde a 01, los 3 kHz a 10 y los 4 kHz a 11. De este modo, la
tasa de baudios sigue siendo 1/T baudios ya que se transmite una seal cada T segundos. No obstante, la
tasa de bits es distinta porque en cada seal van 2 bits, esto es 2/T bps (o 2 bits cada T segundos). De
manera general, una seal puede codificar
bits {1, 2, 4, 8, 16, 32, 64, 128...} y se define la tasa de
smbolo Rs como el nmero de smbolos (seales) que se transmiten en un tiempo de smbolo T,
normalmente:

Asimismo, la tasa de bits (bitrate) es el nmero de bits que se transmiten en un tiempo T y se calcula
como:

Consideraciones:
La tasa de baudios y la tasa de bits aumentan si disminuye T.
La tasa de bits aumenta tambin si aumenta n.
La tasa de baudios siempre es menor o igual a la tasa de bits, esto es:
ya que:

con n = {0, 1, 2, 3,...}


En nuestro caso, al ser binario, coincide el Baud Rate con el Bit Rate.

El puerto Serie
En tecnologas bsicas, un puerto serie es una interfaz fsica de comunicacin en serie a travs de la cual se
transfiere informacin mandando o recibiendo un bit. A lo largo de la mayor parte de la historia de los
ordenadores, la transferencia de datos a travs de los puertos de serie ha sido generalizada. Se ha usado y
sigue usndose para conectar los ordenadores a dispositivos como terminales o mdems. Los ratones,
teclados, y otros perifricos tambin se conectaban de esta forma.
Mientras que otras interfaces como Ethernet, FireWire, y USB mandaban datos como un flujo en serie, el
trmino "puerto serie" normalmente identifica el hardware ms o menos conforme al estndar RS-232,
diseado para interactuar con un mdem o con un dispositivo de comunicacin similar.

www.slepikas.com
2

Actualmente en la mayora de los perifricos serie, la interfaz USB ha reemplazado al puerto serie por ser
ms rpida. La mayor parte de los ordenadores estn conectados a dispositivos externos a travs de USB
y, a menudo, ni siquiera llegan a tener un puerto serie.
El puerto serie se elimina para reducir los costes y se considera que es un puerto heredado y obsoleto. Sin
embargo, los puertos serie todava se encuentran en sistemas de automatizacin industrial y algunos
productos industriales y de consumo.
Los dispositivos de redes, como los enrutadores y switches, a menudo tienen puertos serie para modificar
su configuracin. Los puertos serie se usan frecuentemente en estas reas porque son sencillos, baratos y
permiten la interoperabilidad entre dispositivos. La desventaja es que la configuracin de las conexiones
serie requiere, en la mayora de los casos, un conocimiento avanzado por parte del usuario y el uso de
comandos complejos si la implementacin no es adecuada.

Puerto serie asincrnico


A travs de este tipo de puerto la comunicacin se establece usando un protocolo de transmisin
asncrono. En este caso, se enva en primer lugar una seal inicial anterior al primer bit de cada byte,
carcter o palabra codificada. Una vez enviado el cdigo correspondiente, se enva inmediatamente una
seal de stop despus de cada palabra codificada.

La seal de inicio (start) sirve para preparar al mecanismo de recepcin o receptor, la llegada y registro de
un smbolo, mientras que la seal de stop sirve para predisponer al mecanismo de recepcin para que
tome un descanso y se prepare para la recepcin del nuevo smbolo.
La tpica transmisin start-stop es la que se usa en la transmisin de cdigos ASCII a travs del puerto RS232, como la que se establece en las operaciones con teletipos.
El puerto serie RS-232 (tambin conocido como COM) es del tipo asincrnico, utiliza cableado simple
desde 3 hilos hasta 25 y conecta computadoras o microcontroladores a todo tipo de perifricos, desde
terminales a impresoras y mdems pasando por mouses.
La interfaz entre el RS-232 y el microprocesador generalmente se realiza mediante el chip UART 8250
(computadoras de 8 y 16 bits, PC XT) o el 16550 (IBM Personal Computer/AT y posteriores).
El RS-232 original tena un conector tipo DB-25, sin embargo la mayora de dichos pines no se utilizaban,
por lo que IBM estandariz con su gama IBM Personal System/2 el uso del conector DB-9 (ya introducido
en el AT) que se usaba, de manera mayoritaria en computadoras. Sin embargo, a excepcin del mouse, el
resto de perifricos solan presentar el DB-25
La norma RS-422, similar al RS-232, es un estndar utilizado en el mbito industrial.

www.slepikas.com
3

Tipos de comunicacin en serie


Simplex
En este caso el emisor y el receptor estn perfectamente definidos y la comunicacin es unidireccional.
Este tipo de comunicaciones se emplean, usualmente, en redes de radiodifusin, donde los receptores no
necesitan enviar ningn tipo de dato al transmisor.
Duplex, half duplex o semi-duplex
En este caso ambos extremos del sistema de comunicacin cumplen funciones de transmisor y receptor y
los datos se desplazan en ambos sentidos pero no de manera simultnea. Este tipo de comunicacin se
utiliza habitualmente en la interaccin entre terminales y una computadora central.
Full Duplex
El sistema es similar al duplex, pero los datos se desplazan en ambos sentidos simultneamente. Para que
sea posible ambos emisores poseen diferentes frecuencias de transmisin o dos caminos de comunicacin
separados, mientras que la comunicacin semi-duplex necesita normalmente uno solo. Para el
intercambio de datos entre computadores este tipo de comunicaciones son ms eficientes que las
transmisiones semi-dplex.letty

Bluetooth
Bluetooth es un sistema de comunicacin inalmbrico que aparece asociado a las Redes de Area Personal
Inalmbricas en ingls WPAN (Wireless Personal Area Network). Esta nueva especificacin est
establecida para el enlace entre dispositivos de voz y datos a corto alcance, de forma fcil y simple.
El vocablo Bluetooth procede del ao 960: el rey de Dinamarca Harald Blatand II Bluetooth, uni y
cristianiz los pases de Dinamarca y Noruega. En 1994 Ericsson empez un estudio de viabilidad de una
solucin de conexin va radio a bajo coste y bajo consumo, para conectar telfonos mviles y sus
accesorios. En 1998 Ericsson y Nokia, junto con IBM y Toshiba ms Intel formaron el SIG, Grupo de Inters
Especial, donde actualmente lo forman ms de 1700 miembros.
Bluetooth opera en una banda no licenciada ISM (Industrial Scientific Medical) de 2.4-2.5GHz permitiendo
la transmisin de voz y datos, de forma rpida y segura con un rango de hasta 10 metros con 1 miliwatio o
100 metros si se usa un amplificador de 100 miliwatios. Puede transferir datos de forma asimtrica a 721
Kbps y simtricamente a432 Kbps. Usa la llamada Frequency Hopping Spread Spectrum (FHSS), que
divide la banda de frecuencia en un nmero de canales (2.402 2.480GHz, 79 canales). Para transmitir
voz son necesarios tres canales de 64 Kbps, para transmitir vdeo es necesario comprimirlo en formato
MPEG-4 y usar 340 Kbps para conseguir refrescar 15 veces por segundo una pantalla VGA de 320x240
puntos. Bluetooth minimiza la interferencia potencial al emplear saltos rpidos en frecuencia (1600 veces
por segundo).
Dentro de una aplicacin tpica de Bluetooth nos podemos encontrar los siguientes elementos:
Master: es el dispositivo Bluetooth que establece e inicializa la conexin, la secuencia de control
hopping y la temporizacin de los dems dispositivos colocados en lo que se llama una red
Piconet.
Slave: es el dispositivo habilitado en una Piconet. Una red Piconet tiene un mximo de 7
esclavos.
Piconet: una red de hasta 8 dispositivos conectados (1 maestro+ 7 esclavos).
Scatternet: red formada por diferentes redes Piconet.
La arquitectura bluetooth se organiza en "piconets", formadas por dos o ms dispositivos compartiendo
un canal; uno de los terminales acta como maestro de la piconet, mientras que el resto actan como
esclavos. Varias piconet con reas de cobertura superpuestas forman una "scatternet".

www.slepikas.com
4

Piconet con un solo esclavo (a), con mltiples esclavos (b) y scatternet" (c)

Bluethoot 1.x
La especificacin de Bluetooth define un canal de comunicacin a un mximo 720 kbit/s (1 Mbit/s de
capacidad bruta) con rango ptimo de 10 m (opcionalmente 100 m con repetidores).
Opera en la frecuencia de radio de 2,4 a 2,48 GHz con amplio espectro y saltos de frecuencia con
posibilidad de transmitir en Full Duplex con un mximo de 1600 saltos por segundo. Los saltos de
frecuencia se dan entre un total de 79 frecuencias con intervalos de 1 MHz; esto permite dar seguridad y
robustez.
La potencia de salida para transmitir a una distancia mxima de 10 metros es de 0 dBm (1 mW), mientras
que la versin de largo alcance transmite entre 20 y 30 dBm (entre 100 mW y 1 W).
Para lograr alcanzar el objetivo de bajo consumo y bajo costo se ide una solucin que se puede
implementar en un solo chip utilizando circuitos CMOS. De esta manera, se logr crear una solucin de
99 mm y que consume aproximadamente 97% menos energa que un telfono celular comn.
El protocolo de banda base (canales simples por lnea) combina conmutacin de circuitos y paquetes. Para
asegurar que los paquetes no lleguen fuera de orden, los slots pueden ser reservados por paquetes
sncronos, empleando un salto diferente de seal para cada paquete.
La conmutacin de circuitos puede ser asncrona o sncrona. Cada canal permite soportar tres canales de
datos sncronos (voz) o un canal de datos sncrono y otro asncrono.
Cada canal de voz puede soportar una tasa de transferencia de 64 kbit/s en cada sentido, la cual es
suficiente para la transmisin de voz.
Un canal asncrono puede transmitir como mucho 721 kbit/s en una direccin y 56 kbit/s en la direccin
opuesta. Sin embargo, una conexin sncrona puede soportar 432,6 kbit/s en ambas direcciones si el
enlace es simtrico.

Bluetooth 2.0, 3.0 y 4.0


La nuevas especificaciones, soportan velocidades de hasta 24 Mbps, dependiendo del dispositivo, pero
todas ellas compatibles entre s. Por otro lado, se proporciona un nivel de acceso al medio ms eficiente
que garantiza los tiempos de respuesta de aplicaciones de audio y vdeo en tiempo real.
Rango de conectividad:
Clase 1 100m 1mW (0dBm) hasta 100mW (+20dBm)
Clase 2 10m 0,25mW (-6dBm) hasta 2,5mW (+4dBm)
Clase 3 0,1m 1mW (0dBm)

www.slepikas.com
5

En la mayora de los casos, la cobertura efectiva de un dispositivo de clase 2 se extiende cuando se conecta
a un transceptor de clase 1. Esto es as gracias a la mayor sensibilidad y potencia de transmisin del
dispositivo de clase 1, es decir, la mayor potencia de transmisin del dispositivo de clase 1 permite que la
seal llegue con energa suficiente hasta el de clase 2. Por otra parte la mayor sensibilidad del dispositivo
de clase 1 permite recibir la seal del otro pese a ser ms dbil.
Los dispositivos con Bluetooth tambin pueden clasificarse segn su capacidad de canal:

Versin

Ancho de banda

Versin 1.2

1 Mbit/s

Versin 2.0 + EDR

3 Mbit/s

Versin 3.0 + HS

24 Mbit/s

Versin 4.0

24 Mbit/s

Para ms informacin sobre Bluetooth:


http://www.bluetooth.com

Nuestro mdulo Bluetooth: El HC-06

Este modulo bluetooth es de los mas econmicos que se pueden encontrar en el mercado, se puede
encontrar el chip para soldarlo uno mismo o en tarjetas de desarrollo (breackout) con los pines necesarios
para la comunicacin serial. El HC-06 solo funciona como esclavo, mientras que el HC-05 puede
ser maestro/esclavo, estos mdulos son iguales fsicamente, variando solamente la conexin del
pin KEY (26 en HC-06 y 34 en HC-05).
En nuestro caso trabajaremos con el HC-06 adaptado para Arduino. Que ya tiene las adaptaciones
necesarias para ser utilizado directamente desde la placa base.
El HC-06 se puede configurar por medio de comandos AT y los valores que podemos modificar son el

www.slepikas.com
6

nombre del dispositivo, la contrasea (PIN) para realizar la conexin y el baud rate. Para que los
comandos AT funcionen el modulo no debe estar apareado con el dispositivo maestro, debe ser
configurado por medio de un microcontrolador o mediante un convertidor usb-serial y la terminal serie
en una PC.
En este caso usaremos un convertidor usb-serial y la terminal serie de arduino sin fin de
linea y 9600 baudios (el HC-06 por default viene configurado a 9600).
Los comandos AT disponibles son los siguientes:
AT : Sirve como test de comunicacion, responde con OK
AT+VERSION : Devuelve la versin del firmware del dispositivo, responde con OKlinvorV1.5
AT+NAMEnombre : Cambia el nombre del dispositivo, por ejemplo AT+NAMEdispBT1 responde
con OKsetname y ahora tendr el nombre de dispBT1, el nombre es limitado a 20 caracteres.
AT+PINxxxx : Cambia el pin de seguridad de 4 digitos, podemos usar AT+PIN0000 para setear el pin a
0000, responde con OKsetPIN, por default viene configurado 1234.
AT+BAUDx : Modifica el baud rate del dispositivo, x puede tomar los siguientes valores
11200
22400
34800
49600 (Default)
519200
638400
757600
8115200
9230400
A460800
B921600
C1382400

Caractersticas:

Especificacin bluetooth v2.0 + EDR (Enhanced Data Rate)

Modo esclavo (Solo puede operar en este modo)

Puede configurarse mediante comandos AT (Deben escribirse en mayscula)

Chip de radio: CSR BC417143

Frecuencia: 2.4 GHz, banda ISM

Modulacin: GFSK (Gaussian Frequency Shift Keying)

Antena de PCB incorporada

Potencia de emisin: 6 dBm, Clase 2

Alcance 5 m a 10 m

Sensibilidad: -80 dBm a 0.1% BER

Velocidad: Asincrnica: 2 Mbps (max.)/160 kbps, sincrnica: 1 Mbps/1 Mbps

Seguridad: Autenticacin y encriptacin (Password por defecto: 1234)

www.slepikas.com
7

Perfiles: Puerto serial Bluetooth

Mdulo montado en tarjeta con regulador de voltaje y 4 pines suministrando acceso a


VCC, GND, TXD, y RXD

Consumo de corriente: 30 mA a 40 mA

Voltaje de operacin: 3.6 V a 6 V

Dimensiones totales: 1.7 cm x 4 cm aprox.

Temperatura de operacin: -25 C a +75 C

Notas:
La comunicacin Bluetooth entre dos mdulos debe realizarse entre un mdulo configurado como
maestro y otro como esclavo. Para la comunicacin Bluetooth con computador, telfono, PDA, tableta, etc.,
el mdulo debe ser esclavo.
El mdulo suele venir configurado con velocidad de transmisin serial de 9600 bps, 1 bit de parada, y sin
bit de paridad, nombre: HC06, password: 1234
Se ha mantenido la velocidad de 9600 bps, para esta experiencia inicial.

Arduino UNO
Para la adquisicin y la gestin de los datos se utiliza un mdulo Arduino UNO.

Es la plataforma ms extendida y la primera que sali al mercado. Todas las caractersticas de esta placa
estn implementadas en casi todas las placas restantes. Se basa en un microcontrolador Atmel
ATmega320 de 8 bits a 16Mhz que funciona a 5v. 32KB son correspondientes a la memoria flash (0,5KB
reservados para el bootloader), 2KB de SRAM y 1KB de EEPROM. En cuanto a memoria es una de las
placas ms limitadas, pero no por ello resulta insuficiente para casi todos los proyectos que rondan la red.
Las salidas pueden trabajar a voltajes superiores, de entre 6 y 20v pero se recomienda una tensin de
trabajo de entre 7 y 12v. Contiene 14 pines digitales, 6 de ellos se pueden emplear como PWM. En cuanto a
pines analgicos se cuenta con hasta 6. Estos pines pueden trabajar con intensidades de corriente de hasta
40mA.

www.slepikas.com
8

En nuestro caso interesa:

USART del mdulo Arduino de hasta 2,5 Mbps


Conversor AD de hasta 75 ksps a mxima capacidad,
pero solo 15 ksps a mxima resolucin.
6 canales AD de los cuales utilizaremos 3 para la
prueba.
o Un potencimetro de 50 k lineal (para
simular seales de baja frecuencia)
o Un fotoresistor
o Un potencimetro de 50 k lineal, que al
tiempo de graficar su posicin establece el
valor de retardo entre muestras.

Terminal grafica
Para probar la comunicacin de manera simplificada, se utiliz una aplicacin Android comercial, en su
versin de prueba.

http://www.appbrain.com/app/bluetooth-terminal-graphics/com.emrctn.BluetoothGraphics
La misma ofrece la posibilidad de graficar hasta 3 seales simultneamente con autoajuste de escala en su
versin gratuita, y hasta 7 en la versin de pago. Para este caso era suficiente con 3 de la versin gratuita,
que son las que se utilizaron.
Ej: Grafica de datos recibidos desde la placa Arduino

El paquete de datos debe estar configurado de la siguiente manera. (para


compatibilizarlo con la APP):
E(Dato1),(Dato2),(Dato3)\n
Donde:
E : Cabecera (1 byte = 10 bits)
Dato1, Dato2, Dato3: Enteros (2 bytes = 10 bits)
,: Separador (1 Byte = 10 bits)
\n: Fin de lnea (2 bytes = 20 bits)
1byte = 10 bits (bit start + 8 bit del byte + bit de stop, sin bit de paridad)
Total del paquete = Cabecera + 3 datos + 2 separadores + fin de lnea
Total del paquete = 1 byte + 3 * 2 bytes + 2 * 1 byte + 2 byte = 11 bytes
Total del paquete = 11 * 10 bits = 110 bits
En este ejemplo, si transmitimos a 9600 baudios x 3 canales:
Mximo de paquetes a transmitir = Baudios / Bits por paquete
= 9600 / 110 = 87 paquetes por segundo -> muestras por segundo, por canal.
Si intentamos enviar ms muestras, el protocolo serial simplemente perder datos.
En caso de necesitar una tasa mayor debemos setear la transmisin con un Baud Rate mayor. Como hemos
visto el mdulo HC06 nos permite transmitir hasta 1Mbps, ms exactamente 1382400 bps. Esto permitira
un muestreo de 12.567 muestras por segundo y por canal (a 3 canales).

www.slepikas.com
9

La USART del la placa base de Arduino UNO lo tolerara perfectamente, ya que puede trabajar hasta los 2,5
Mbps, pero el cuello de botella lo tendramos en el conversor AD de la placa que aunque puede muestrear
a un mximo de 75 Ksps , a mxima resolucin llega a 15 Ksps. (Valor sugerido como lmite)
Si tenemos 3 canales, multiplexados, podemos contar con unos 5 ksps por canal. Digamos que tomando
una tasa superior a 460800 baudios estaramos cubiertos.
Por ejemplo: a 460800 baudios podramos transmitir un mximo 4189 paquetes, aproximadamente unos
4ksps por canal en 3 canales. Configurando la transmisin en 921600 podramos transmitir
perfectamente los 5kbps sin problemas, ya que el lmite lo tendramos en 8.378 ksps por canal (para 3
canales).

Conclusin
Las principales seales biolgicas son de baja frecuencia, como el ECG (1 Hz), otras seales como la del
EEG pueden ser de hasta 100 Hz, para evitar el aliasing requerira una resolucin mnima de 200 muestras
por segundo, por lo que son suficientes unos 250 sps (muestras por segundo) por canal (algunos equipos
comerciales ofrecen 254 y 512 sps), EMG podra requerir algo ms, con esta plataforma, en teora podran
monitorizarse ms de 16 canales. En este caso podramos utilizar una placa Arduino Mega 2560 con 16
entradas AD, la cual posee la misma USART y Conversores AD que la Arduino UNO.
Consideraciones:

En la configuracin de 460800 bps de transmisin pueden muestrearse a ms de 900 sps en los


16 canales, ms del triple de lo necesario para bioseales como el EEG. (recordemos que el
paquete de datos se aprovecha mucho ms al aumentar el nmero de canales, ya que la cabecera y
el fin de lnea tienen menor incidencia porcentual, por ello no es una relacin lineal)

Si se va a trabajar al lmite de la capacidad de muestreo del mdulo Arduino (15ksps a mxima


resolucin sin multiplexar), el seteo de la transmisin convendra que al menos de 921600
baudios.

A mxima velocidad de muestreo el celular debe tener un mdulo Bluetooth 2.0 o superior (el BT
1,2 slo llega a 1Mbps)

A 75Ksps que puede entregar la placa Arduino (a costa de precisin) no sera posible transmitir
la totalidad de los datos, ya que nuestro lmite estara en 27 ksps en un solo canal sin multiplexar,
o en 2700 sps por canal (con 16 canales multiplexados), seteando a 1382400 baudios.

El cuello de botella de esta configuracin por tanto se encuentra en el conversor AD, el


ralentizamiento que pueda provocar el procesamiento de los datos y la tasa de refresco de la
pantalla del celular y el procesamiento que le implique. Habra que cuidar que el programa y sus
clculos no interfieran con la tasa de muestreo.

Habra que hacer pruebas empricas para verificar que la capacidad de transmisin terica se
cumple en la prctica. (no se han hecho en esta ocasin, el objetivo fue calcular la viabilidad
terica y una implementacin bsica inicial para familiarizarse con la tecnologa)

A continuacin se tiene una tabla comparativa donde se analizan la cantidad de estos paquetes que
pueden transmitirse segn la configuracin que se elija, de 1 hasta 16 canales y las velocidades de
transmisin del mdulo HC06.

www.slepikas.com
10

Anlisis de la capacidad de tranmisin de datos del mdulo HC06 en el formato Edato1,dato2,,datoX\n


2 [D] Tamaos en Bytes del dato
10 Bits por byte = Bit de Start + 8 bit del Byte + Bit de stop, Sin bit de paridad

Formato del paquete de datos : "E"+Dato1+","+Dato2++","+DatoN+"\n"


"E": Cabecera - ",": Separador - "\n": Fin de paquete
Nro mximo de paquetes/ segundo [PS= bps/BP]
Mximo de Muestreos/segundo por canal que se podra transmitir sin perder informacin
Nro de
Canales [C]
1
2

3
4
5
6
7
8
9
10
11
12
13
14
15
16

Nro de Bytes
conformacin
paquete
[K=(C+2)]
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Bytes totales Bits Totales


x paquete
x Paquete
[P=K+C*D]
[BP=P*10]

1200

2400

4800

9600
192
120

5
8

50
80

24
15

48
30

96
60

11
14
17
20
23
26
29
32
35
38
41
44
47
50

110
140
170
200
230
260
290
320
350
380
410
440
470
500

11
9
7
6
5
5
4
4
3
3
3
3
3
2

22
17
14
12
10
9
8
8
7
6
6
5
5
5

44
34
28
24
21
18
17
15
14
13
12
11
10
10

Conversor AD Arduino UNO y Mega


A mxima resolucin: 15 Ksps
Mxima capacidad de muestreo: 75 Ksps

87
69
56
48
42
37
33
30
27
25
23
22
20
19

19200

36400

57600 115200 230400 460800 921600 1382400

384
240

728
455

1.152
720

2.304
1.440

4.608
2.880

9.216
5.760

18.432
11.520

27.648
17.280

175
137
113
96
83
74
66
60
55
51
47
44
41
38

331
260
214
182
158
140
126
114
104
96
89
83
77
73

524
411
339
288
250
222
199
180
165
152
140
131
123
115

1.047
823
678
576
501
443
397
360
329
303
281
262
245
230

2.095
1.646
1.355
1.152
1.002
886
794
720
658
606
562
524
490
461

4.189
3.291
2.711
2.304
2.003
1.772
1.589
1.440
1.317
1.213
1.124
1.047
980
922

8.378
6.583
5.421
4.608
4.007
3.545
3.178
2.880
2.633
2.425
2.248
2.095
1.961
1.843

12.567
9.874
8.132
6.912
6.010
5.317
4.767
4.320
3.950
3.638
3.372
3.142
2.941
2.765

Velocidad de USART: hasta 2,5 Mbps


Velocidad del Bluetooth del celular utilizado en la experiencia : 24 Mbps (Bluetooth 4.0)

Notas:

En la configuracin 460800 bps podemos muestrear mas de 900 sps por canal en 16 canales, mas del triple de sps necesarios para EEG
Si se va a trabajar al lmite de la capacidad de sampleo (15 ksps monocanal), el seteo de la tranmisin convendra que fuese 921600 o mayor.
A mxima velocidad de sampleo el celular debe tener un mdulo Bluetooth 2.0 o superior (el BT 1,2 slo llega a 1Mbps)
El cuello de botella de esta configuracin por tanto se encuentra en el conversor AD, el ralentizamiento que pueda provocar
el procesamiento de los datos y la tasa de refresco de la pantalla del celular y el procesamiento que le implique.

11

www.slepikas.com

Anexo
Programa que se utiliz para configurar el mdulo HC06
Nota a tener en cuenta. Al cargar el programa en la placa es conveniente desconectar o retirar en mdulo
bluetooth. En algunos casos genera un error de transmisin que no nos deja cargar el programa.
//Programa (para Arduino) de configuracin del mdulo HC06
//Definicin de variables
char NOMBRE[10]="HC06A"; // hasta 20 caracteres admite el HC06
char BPS ='4';
// 4: 9600 baudios (Ver tabla para setear otra velocidad)
char PASS[10]="1234"; // Contrasea de emparejamiento
void setup()
{
Serial.begin (9600);
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
delay (10000);
digitalWrite(13, LOW);
Serial.print ("AT");
delay(1000);
Serial.print("AT+NAME");
Serial.print(NOMBRE);
delay(1000);
Serial.print("AT+BAUD");
Serial.print(BPS);
delay(1000);
Serial.print ("AT+PIN");
Serial.print(PASS);
delay(1000);
}
void loop ()
{
digitalWrite(13, !digitalRead(13)); //cambia el estado del led
delay (1500);
}

www.slepikas.com
12

Programa en Arduino utilizado en la prueba de comunicacin con el telfono celular.


//Programa de prueba de comunicacin con HC06 con retardo variable
//Definicin de variables
int Delay_Pin = A2;
int Sensor1_Pin = A3;
int Sensor2_Pin = A4;
int Sensor3_Pin = A5;
int Led_Pin = 13;
int Delay_Valor = 0;
int Sensor1_Valor = 0;
int Sensor2_Valor = 0;
int Sensor3_Valor = 0;

void setup()
{
Serial.begin (9600);
pinMode (Led_Pin, OUTPUT);
}
void loop ()
{
Sensor1_Valor= analogRead (Sensor1_Pin);
Sensor2_Valor= analogRead (Sensor2_Pin);
Sensor3_Valor= analogRead (Sensor3_Pin);
Delay_Valor= Sensor3_Valor;

Serial.print ("E");
Serial.print (Sensor1_Valor);
Serial.print (",");
Serial.print (Sensor2_Valor);
Serial.print (",");
Serial.print (Sensor3_Valor);
//Serial.write (92);
Serial.print ("\n");

digitalWrite(Led_Pin, !digitalRead(Led_Pin)); //cambia el estado del led


delay (Delay_Valor);
}

www.slepikas.com
13

You might also like