Robotica Facil. Robots, kits, circuitos, sensores, motores, etc.. SR1 Robot Multifuncional Robótica Fácil  
Página Principal Novedades Ayuda Ver Carrito Catálogo
Kits Robots Circuitos electrónicos Sensores robotica Motores y servos para robots Ruedas y Orugas para robots
Soportes y hardware Tornillos y separadores Libros robotica Radio Modem, Transmisores de Vídeo Robots Fotograficos
Fuentes de Alimentacion Componentes electrónicos Varios robotica Proyectos de Robotica Tutoriales de Robotica
TRANSCEPTOR DATOS I2C 19,2 KB EASY RADIO 433MHZ S350180

TRANSCEPTOR DATOS I2C 19,2 KB EASY RADIO 433MHZ. Clic para ampliar

El CM02 es un radiomodem para transmisión de datos a 19200 con la particularidad que incluye un bus I2C. Esto quiere decir que podemos controlar uno o varios dispositivos I2C vía radio sin necesidad de ningún circuito adicional. Por ejemplo se pueden conectar 4 sensores de distancia por ultrasonidos s320112, una brújula digital S320160 y un controlador de motores por I2C S310107 y controlarlos todo a distancia por radio con la ayuda del transceptor de datos con conexión USB S350175. El circuito incluye un interruptor y un regulador de tensión de 5v 1A, capaz de alimentar además a los circuitos que esta controlando. Adicionalmente incluye un medidor de la tensión de la batería, que también puede medirse vía radio. Hay disponible un programa de ejemplo para PC que permite radio controlar varios módulos y mostrar la información en la pantalla.

ATENCION: ESTA ES LA TRADUCCION DE LA PAGINA ORIGINAL DEL FABRICANTE Y CONTIENE TODA LA INFORMACION DISPONIBLE SOBRE ESTE PRODUCTO.

Especificaciones técnicas

El módulo radiomodem CM02 junto con los sensores de distancia por ultrasonidos RF04 (S320112) forman una completa interface entre su ordenador y nuestra gama de módulos basados en el bus I2C. Puede enviar comandos a su robot y recibir datos del mismo para su ordenador. Ahora ya dispone de todos los módulos necesarios para controlar su robot desde su ordenador. El radiomodem CM02 está alimentado de la batería de su robot que puede ser de 6v a 12v. El CM02 puede controlar el voltaje de las baterías e informar al ordenador de esta información (¡Podrá saber cuando su robot tiene hambre de energía!). Su módulo CM02 tiene cuatro conectores, aunque no estará limitado a cuatro dispositivos I2C. En la práctica, puede necesitar sólo un conector y enrrutar el bus del I2C a todos los módulos que desee controlar. La tasa de bits en el bus I2C es aproximadamente 100KHz.

Licencia de frecuencia de bandas

El módulo de radiomodem CM02 está disponible en dos versiones. Por un lado, el modelo CM02/400 utiliza el módulo LPRS EasyRadio ER400TRS que opera a 433-4MHz. Las asignaciones de frecuencia entre 433-4MHz cumplen con la normativa de Europea, Sudáfrica, Australia y Nueva Zelanda.
Por otro lado, el modelo CM02/900 utiliza el módulo ER900TRS para los mercados de Europa (868-870MHz) o Estados Unidos (902-920MHz). La salida de potencia es de 10mW. Tenga en cuenta las restricciones en Estados Unidos a 1mW y en Europa a 5mW.
Asegúrese de que ha pedido el tipo de módulo adecuado y que pide módulos compatibles entre sí, por ejemplo las parejas formadas por RF04/CM02, RF04/400 y CM02/400 o RF04/900 y CM02/900.

Potencia

Se utiliza un conector de poste de 3 pines para alimentar el módulo CM02. Para el resto de módulos y el CM02 se utiliza un regulador en placa de 5v. El regulador puede suministrar 1Amp, aunque en la práctica está limitado más por la disipación de la potencia, que será peor mientras más alto sea el voltaje de la batería utilizada para evitar que el disipador térmico no se caliente en exceso. Nuestro robot de prueba, compuesto por los módulos CM02, un controlador de motores MD22, un display LCD I2C, un módulo de voz SP03, brújula digital CMPS03 y ocho módulos SRF08. Estos requieren 155mA cuando están en funcionamiento y con 14v el disipador de calor del regulador está considerablemente caliente. (155mA para 5v logic - los motores tardan mucho más, aunque no va a través del regulador). El interruptor se encuentra en la parte de la batería o del regulador. Sin embargo, este interruptor no corta la alimentación del MD22. No obstante, dado que la corriente del módulo MD22 sólo desciende cuando la alimentación 5v está desactivada (medimos 1.5uA) lo utilizamos como el interruptor de alimentación del robot. Si lo utiliza como tal, acuérdese de desconectar la batería antes de trabajar en su robot. El regulador es del tipo de caída baja (low drop) para que pueda utilizar voltajes de baterías de 6v a 12v.

Conexiones

Los conectores del I2C son idénticos y su alimentación es de 0v, SCL, SDA, y 5v en ese orden desde el flanco exterior de la placa de circuito impreso (PCB). Asimismo, el módulo CM02 requiere el uso de una antena. A 434 MHz utilizamos una pieza de alambre sólido de 16,4 cm de largo como una antena de varilla. A 900 MHz utilizamos una antena de varilla de 8cm.

Conexiones en el radiomodem i2c. Clic para ampliar.

Comandos

El módulo CM02 responde a los comandos enviados a él a través de un enlace vía radio desde el ordenador. Hay sólo dos comandos primarios: 

I2C_CMD (0x55) - Le permite leer o escribir lo que desee a cualquier elemento del bus I2C - entre los que se incluyen nuestra propia gama de módulos.

CM02_CMD (0x5A) - Una serie de comandos enviados al módulo CM02, generalmente para mejorar las comunicaciones seleccionadas.

Escribir directamente en un dispositivo I2C

Después de enviar el comando I2C_CMD puede enviar la dirección del dispositivo, las direcciones de los registros internos de los dispositivos en los que quiere escribir y el número de bytes que está escribiendo. El número máximo de bytes de datos no debería superar los 76 para evitar el desbordamiento del buffer interno del radiomodem CM02.

  Comando primario de CM02 Dirección del dispositivo + bit R/W Registro interno del dispositivo Número de bytes de datos Los bytes de datos
Tipo de Byte I2C_CMD Addr+R/W Reg Byte Count Data
Ejemplo 0x55 0xE0 0x00 0x01 0x51
Significado Comando primario de CM02 Dirección I2C de SRF08 Registro de comando de SRF08 Sigue un byte de comando Empezar a medir en cm

Esta secuencia de 5 bytes inicia un sensor de distancias por ultrasonidos SRF08 en la dirección 0xE0. Los 5 bytes deberían enviarse al módulo CM02 en una secuencia. Un espacio vacío tendrá hará que el módulo CM02 re-inicie su bucle interno del comando de sincronización e ignore el mensaje. Después de recibir todos estos bytes, el módulo CM02 ejecuta la operación de escritura a través del bus IC2 en el SRF08 y envía un sólo byte de vuelta al ordenador. El byte devuelto será 0x00 (zero) si el comando de escritura falla y será diferente de cero si el comando de escritura se ha ejecutado con éxito. El ordenador debería esperar a que este byte sea devuelto (se deshabilita después de 500mS) antes de proceder con la siguiente transacción.

A continuación, encontrará otro ejemplo de comando de escritura - esta vez se utilizará una secuencia de 8 bytes para inicializar el controlador del motor MD22: 

I2C_CMD MD22 Addr+R/W Registro de modo Recuento de bytes de datos Modo 1 de MD22 Motor izqdo detenido Motor drcho detenido Aceleración rápida
0x55 0xB0 0x00 0x04 0x01 0x00 0x00 0x02

El módulo CM02 volverá a responder con un valor distinto de cero si el comando de escritura se ejecuta correctamente y un valor cero si no se ejecuta. Si el comando fallase, entonces significaría que no se ha recibido información desde el dispositivo I2C.

Leer directamente de un dispositivo I2C

Es similar al comando de escritura, excepto en que se debe sumar 1 a la dirección del dispositivo para que el número sea impar. Para leer de un módulo SRF08 en la dirección 0xE0, debería utilizar como dirección el valor 0xE1 . (Cuando la dirección salga a través del bus I2C, será el 1 que esté en la posición más baja el que indique que se está produciendo un ciclo de lectura). El número máximo de bytes de datos solicitados no puede superar los 76 para evitar el desbordamiento del buffer interno del CM02. A continuación, encontrará un ejemplo de lectura de dos bytes procedente de la brújula CMPS03:

I2C_CMD CPMS03 I2C dirección + bit de lectura Registro de retardo de CMPS03 Número de bytes para leer
0x55 0xC1 0x02 0x02

El módulo CM02 llevará a cabo una operación de lectura en el bus I2C y devolverá dos bytes al ordenador - el nivel lógico alto primero. El ordenador debería esperar a que se retornen ambos bytes (se desactiva después de 500mS) antes de proceder con la siguiente transacción.

Comandos CM02

El formato del comando CM02 es el siguiente:

CM02_CMD Comando CM02 Dato 1 Dato 2
 0x5A Ver abajo Especifico de comando Especifico de comando

Los comandos CM02 están siempre formados por una secuencia de cuatro bytes. Comienzan con el comando primario CM02_CMD que continúa con el propio comando CM02. A lo anterior les siguen los dos bytes de datos pueden estar vacíos si no están en uso, aunque deberán incluirse para crear una secuencia de comandos de 4 bytes. Estos comandos son los siguientes: 

Hex Comando Bytes devueltos Función
0x01 >REVISION  1 Devuelve el número de revisión del firmware de CM02
0x02 NEW_ADDRESS 1 Modifica la dirección I2C de SRF08
0x03 BATTERY 2 Bytes de nivel lógico alto/bajo del voltaje de la batería
0x04 SCAN1 6 Enviar datos del motor - devuelve los datos de la batería, brújula y sonar 
0x05 SCAN2 9 Igual pero para 2 SRF08's
0x06 SCAN3 12 3 SRF08s
0x07 SCAN4 15 4
0x08 SCAN6 21 6
0x09 SCAN8 27 8
0x0A SCAN12 39 12
0x0B SCAN16 51 Todos los 16 SRF08s posibles
       

 

El Comando REVISION se utiliza para leer la revisión del firmware de CM02. Devuelve un sólo byte indicando el número de revisión. Los dos bytes de datos que no están utilizados puede ser cualquier cosa, pero tienen que ser enviados.

El Comando NEW_ADDRESS se utiliza para modificar la dirección I2C de un SRF08 con una dirección diferente. La nueva dirección debería estar en el primero de los dos bytes de datos. Aunque el segundo byte de datos no está en uso y puede ser cualquier cosa, sí que debe ser enviado. Los cambios en las direcciones en los SRF08 requieren 4 transacciones independientes en el bus I2C. El CM02 sabe cómo modificar la dirección I2C de un SRF08 y simplemente tendrá que enviarle la nueva dirección a través de este comando. Cuando lo esté utilizando, asegúrese de que tiene un módulo SRF08 conectado, ya que de lo contrario definirá la misma dirección para todos los módulos SRF08 que tenga conectados en el bus. Se devolverá un sólo byte con la nueva dirección cuando la tarea haya finalizado.

El Comando BATTERY devuelve una palabra de dos bytes (el primer byte de nivel lógico alto) indicando el voltaje de la batería. Este es el voltaje con el que está alimentando su CM02. Se trata de un número formado por 10 bits, aunque justificado a la izquierda por lo que debería tratarse como un número de 16 bits. Realmente es la salida del convertidor analógico/digital del chip PIC16F88 utilizado en el módulo CM02. El byte de nivel lógico alto puede utilizarse por sí solo mientras que el voltaje de la batería debe utilizarse como un byte de lectura. Divida el byte de nivel lógico alto entre 16,347 o la palabra entre 4.198 para obtener una lectura directa del voltaje de la batería. (Recuerde que está utilizando un PC y que los las divisiones por puntos flotantes son sencillas).

El Comando SCAN es muy útil al utilizar nuestros módulos en su robot. Da por sentado que dispone de un controlador de motor MD22, un módulo de brújula CMPS03 y varios módulos sensores de distancias por ultrasonidos SRF08. El comando SCAN1 da por sentado que tiene un 1 unidad de SRF08, mientras que SCAN8 da por sentado que tiene 8 unidades de SRF08. Los dos bytes de datos contienen los valores de velocidad del motor izquierdo y derecho para el controlador de motor MD22. Después de enviar las nuevas velocidades del motor al MD22, el módulo CM02 enviará un cuadro de retorno compuesto por el voltaje de la batería como un solo byte. Ocurre lo mismo con el byte de nivel lógico alto del comando BATTERY anterior. Va seguido de los dos bytes de la brújula- el primer byte de nivel lógico alto y después los tres bytes para cada SRF08. El primero de los tres bytes se trata de la lectura del sensor de luz (fotosensor) del módulo SRF08. Los primeros dos bytes es el alcance del sensor de distancia-el primer byte de nivel lógico alto. Por ejemplo, si se utiliza el comando SCAN2, debería recibir un retorno de 9 bytes:

Voltios de batería Byte de nivel lógico alto de la brújula Byte de nivel lógico bajo de la brújula SRF08 en fotosensor 0xE0 SRF08 en el byte de nivel lógico alto 0xE0 de distancia SRF08 en el byte de nivel lógico bajo de distancia 0xE0 SRF08 en fotosensor 0xE2 SRF08 en el byte de nivel lógico alto de distancia 0xE2 SRF08 en el byte de nivel lógico bajo de distancia 0xE2

Los datos de retorno del SRF08 siempre empiezan con las direcciones 0xE0, 0xE2, 0xE4 - sumando 1 al valor de la dirección cada vez que se soliciten hasta que se envíen todos los datos del módulo SRF08.

Después de enviar los datos de vuelta al ordenador, el radiomodem CM02 envía automáticamente un nuevo comando para calcular la distancia en todos los módulos SRF08s. El comando de cálculo de distancia utilizado es 82 (0x52) que retorna un valor expresado en uS. Para convertir este valor en centímetros deberá dividirlo entre 58 y para convertirlo en pulgadas, dividirlo entre 148.

Las direcciones del módulo SRF08 deberían estar definidas antes de ejecutar este comando y además el módulo MD22 debería estar inicializado en el modo y aceleración requeridos. Otro factor importante: el comando SCAN también establece un temporizador de 500mS en el módulo CM02. Si no se recibe otro comando SCAN en este plazo de tiempo, se enviará automáticamente un comando al módulo MD22 para detener los motores. Esta opción evita que su robot camine fuera de control en el caso de que se saliera del área de alcance del vínculo vía radio. Después de la inicialización, nuestro robot de prueba estará controlado completamente a través del comando SCAN8.

LEDs Hay dos indicadores led de estado en el módulo CM02. El led rojo indica que la alimentación está activa, mientras que si el led verde parpadea brevemente, entonces indica que se está recibiendo un comando vía radio.

Software de prueba RF04/CM02

Para ayudarle a comprobar el enlace vía radio entre FF04/CM02, le proporcionamos el siguiente diálogo de prueba. Descárguelo de aquí. Se trata de un pequeño programa basado en Windows/PC, y tiene el aspecto siguiente al abrirlo. 

En primer lugar debería seleccionar el puerto com al que el módulo RF04 está conectado. Podrá encontrar instrucciones en la página técnica del Radiomodem USB RF04 sobre cómo puede localizar el puerto com. Sólo tendrá que configurar este puerto una vez. Si tiene un puerto CM02 activo y dentro del rango, en la pantalla aparecerá la revisión del firmware y el voltaje de la batería.

En este caso, los valores Rev1 y 12.09v procedentes de la batería. En este ejemplo, el módulo CM02 está configurado para controlar nuestro robot de prueba- Chucky. Cuenta con un módulo controlador de motores MD22, y podrá comprobar que el firmware es Rev2. Los controles deslizantes sirven para definir la velocidad de los motores. Hay un módulo de sensor brújula digital CMPS03 configurado como - Rev9 y muestra un valor de orientación de 293 grados. Un módulo sensor de distancias por ultrasonido SRF08 se encuentra en la dirección 0xE0. El robot Chucky tiene conectados 12 módulos SRF08. El que aparece en la pantalla es el primero que se ha encontrado. El robot Chucky tiene un módulo sintetizador de voz SP03 conectado - y también un módulo LCD LCD02 . Si están conectados aparecerán en los paneles LCD02 y SP03. El texto puede enviarse a los módulos SP03 o LCD02 escribiéndola en la caja de edición y presionando uno de los botones Line/Speak.

El cuadro de texto en el panel SRF08 le muestra la direccion del módulo actual SRF08 conectado. Si cambia esta dirección, el botón "Update", que normalmente está inactivo, se activará. Si lo presiona, se enviará un comando al módulo CM02 para modificar la dirección del SRF08. Esto resulta muy útil si está utilizando distintos módulos SRF08 en su robot. Asegúrese de que tan sólo esté conectado uno de los módulos SRF08 al pulsar el botón "Update", ya que de lo contrario tendrá que reprogramar todos los SRF08 con sus direcciones nuevas. El display muestra los datos actuales correspondientes a los valores de voltios de la batería, brújula y sónar que son actualizados constantemente.

Esquema de conexion de los diferentes modulos del robot Chuky

 

Haga clic en el botón COMPRAR para añadir este producto a su carrito de la compra.

66,05-Euros.
IVA incluido
AÑADIR AL CARRITO DE LA COMPRA

TRANSCEPTOR DATOS I2C 19,2 KB EASY RADIO 433MHZ

Vea mas productos de esta categoría en:

Radiomodem y transmisores de datos inalámbricos.

Ir a la Página Principal de www.SuperRobotica.com

Actualizada el 04/01/2016 © 2002 -2016 INTPLUS ®. Todos los derechos reservados