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
SRF02 SENSOR DE DISTANCIAS POR ULTRASONIDOS SIMPLE S320122

SRF02 SENSOR DE DISTANCIAS POR ULTRASONIDOS SIMPLE. Clic para ampliar

El sensor de distancias por ultrasonidos SRF02 es nuevo sensor de pequeño tamaño y mínimo consumo que destaca por tener interfaz serie e interfaz I2C. El interfaz serie tiene un formato estándar de 9600 baudios, un bit de comienzo ocho de datos y un bit de parada. El nivel de tensión es a nivel TTL lo que permite conectarlo a cualquier microcontrolador del mercado. Para conectarlo a un puerto RS232 de ordenador, es necesario utilizar algún circuito convertidor de niveles como el MAX232 o similar. En el modo I2C el circuito se conecta de igual forma que los SRF08 y SRF10 siendo las conexiones identicas. En ambos modos el rango de medidas es de 15 cm a 600 cm. Cada sensor tiene su propia dirección interna, aunque esta se puede cambiar de forma que se pueden tener hasta 16 módulos SRF02 en el mismo bus, ya sea serie o I2C. Las medidas pueden ser en centímetros, pulgadas o microsegundos . La alimentación es de 5V y el consumo medio de 4 mA. Medidas: 24 x 20 x 17 mm de altura. Peso: 4,6 g. Puede conectarse directamente al PC por USB utilizando el circuito interfaz S310425.

¿QUÉ ES EL SRF02?

El SRF02 es un medidor ultrasónico de distancia, es decir un sonar de pequeño tamaño y que funciona mediante un solo transductor. Entre las características más destacadas de este transductor se encuentra sin duda el hecho de utilizar un único transductor tanto para transmitir la ráfaga ultrasónica como para recibir el eco de la misma y poder así medir la distancia. Esta característica hacen que la distancia mínima medida sea mayor que la de otros medidores del mercado que utilizan para ello dos transductores diferentes. La distancia mínima que es capaz de medir es alrededor de 15cm (6"). Como otros sensores de distancia, el SRF02 puede medirse en uS, cm o pulgadas.

Este medidor permite comunicaciones serie e I2C, con un total de 16 dispositivos diferentes en ambos modos. Ya que los niveles de tensión son TTL se pueden conectar directamente con la UART de cualquier microcontrolador. El SRF02 destaca además por tener nuevos comandos que permiten enviar ráfagas ultrasónicas sin medir el eco recibido y al reves, medir el eco sin haber enviado los impulsos previamente.

MODO I2C

Para seleccionar el modo I2C deberá dejar sin conectar el Pin Modo del SRF02. El Pin SDA corresponde a la señal de datos y el Pin SCL a la señal de reloj. Ambas señales se deben polarizar a +5Vcc a través de dos resistencias de polarización positiva que normalmente se encuentran en el circuito maestro del bus I2C que controla los dispositivos I2C esclavos. Esto quiere decir que solo son necesarias dos resistencias en todo el bus, no dos por cada circuito.

La dirección I2C del medidor SRF02 por defecto es 0xE0 pero puede elegir cualquiera de las otras 16 siguientes para conectar otros sensores: 0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xECC, 0xEE, 0xF0, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE.

 

Conexiones del sensor SRF02 en modo I2C

REGISTROS

El SRF02 está compuesto por un juego de 6 registros:

Registros Nº Modo de lectura Modo de Escritura
0 Revisión de software interno Registros de comandos
1 No usado (se lee 0x80) No disponible
2 Byte alto de la medidad realizada No disponible
3 Byte bajo de la medidad realizada No disponible
4 Byte alto del valor mínimo de distancia No disponible
5 Byte bajo del valor mínimo de distancia No disponible

El único registro que se puede escribir es el 0, ya que este es que el que se utiliza para empezar un nuevo cálculo. Las medidas tardan unos 65mS en llevarse a cabo y mientras se realizan no responden a ninguna otra operación que se realice mediante el bus I2C. Si se intenta leer este registro se obtiene la versión del firmware interno del sonar SRF02.

Los registros 2 y 3 son el resultado de la última medida realizada en un valor de 16 bits medidos en pulgadas, centímetros o microsegundos según el comando que sehaya utilizado. Un valor de 0 indica que el sensor no ha detectado ningún objeto. Recuerde no iniciar ningún cálculo de medición antes de 65 mS del anterior para dar tiempo a desvanecerse a la primera ráfaga de ultrasonidos.

Los registros 4 y 5 son el resultado de el valor aproximado de la distancia mínima que el sonar puede medir en un valor de 16 bits.

COMANDOS

Los 3 primeros comandos del (80 al 82) se utilizan para iniciar una nueva medición en pulgadas, centímetros o microsegundos.

Los otros 3 siguientes del (86 al 88) son parecidos pero no transmiten ninguna ráfaga por lo que no miden la distancia a ningún objeto. Estos comandos le pueden servir para detectar las ráfagas de otros medidores ultrasónicos.

El comando 92 se utiliza para transmitir una ráfaga pero no realiza ninguna medida.

El comando 96 reinicia el SRF02 realizando un ciclo de auto ajuste. Es como si se conectara la alimentación.

Los tres últimos (160,165 y 170) son los encargados de cambiar la dirección I2C de los SRF02.

Comandos Descripción
Decimal Hexadecimal
80 0x50 Iniciar una nueva medición real. Resultado en pulgadas
81 0x51 Iniciar una nueva medición real. Resultado en centímetros
82 0x52 Iniciar una nueva medición real. Resultado en microsegundos
     
86 0x56 Iniciar una nueva medida falsa. Resultado en pulgadas
87 0x57 Iniciar una nueva medida falsa. Resultado en centímetros
88 0x58 Iniciar una nueva medida falsa. Resultado en microsegundos
     
92 0x5C Transmite una ráfaga de 8 ciclos de 40khz- no hace cálculos de medición
     
96 0x60 Fuerza un reinicio del sonar SRF02 realizando un ciclo de autoajuste.
     
160 0xA0 1º comando de la secuencia para cambiar la dirección I2C
165 0xA5 3º comando de la secuencia para cambiar la dirección I2C
170 0xAA 2º comando de la secuencia para cambiar la dirección I2C

REALIZANDO UN CÁLCULO DE MEDICIÓN

Para realizar un cálculo de medición se debe escribir un comando de los de arriba sobre el registro de comandos y esperar un tiempo ( aproximadamente 66 mS) para poder leer los registros 2 y 3 y así obtener el cálculo completo.

COMPROBACIÓN PARA CÁLCULOS DE MEDICIÓN COMPLETOS

Mientras el SRF02 está en mitad de un cálculo no responderá a ninguna orden sobre el bus I2C. Tan pronto como se completa el cálculo de medición el SRF02 responderá de nuevo a el bus I2C pudiendo leer el resultado. Deberá esperar alrededor de unos 70mS para poder volver a realizar una nueva medición. Si no quiere esperar puede intentar leer el registro 0x00. Si el SRF02 está ocupado, el bus I2C estará inactivo con la línea de datos a (1) y un valor de 0xFF. Así pues si lee un valor distinto de 0xFF, es porque el SRF02 no está ya haciendo el cálculo y ha respondido devolviendo el nº de la versión del firmware interno del propio SRF02.

CAMBIANDO LAS DIRECCIONES DEL BUS I2C

Para cambiar la dirección I2C del SRF02 es necesario que tenga conectado solamente un circuito en el bus. Se debe escribir la secuencia de los 3 comandos en el orden correcto seguido de la nueva dirección que se le quiere poner. Por ejemplo para cambiar la dirección por defecto de (0xE0) a la (0xF2) debe escribir la siguiente dirección 0xE0;

(0xA0, 0xAA, 0xA5, 0xF2).

Estos comandos deben ser enviados en la secuencia correcta evitando además mandar ningún otro comando en mitad de la secuencia. Esta secuencia debe ser enviada a el registro de comandos 0 en cuatro ciclos de escrituras diferentes y consecutivos. Pasando esta a ser la dirección actual mientras que no se cambie a otra nueva. Deberá etiquetar el sonar con su dirección pero si se le olvida este solo encienda este sin enviar ningún comando ya que el SRF02 emitirá su dirección en unos destellos en el led.

Dirección Destello largo Destello corto
Decimal Hexadecimal
224 E0 1 0
226 E2 1 1
228 E4 1 2
230 E6 1 3
232 E8 1 4
234 EA 1 5
236 EC 1 6
238 EE 1 7
240 F0 1 8
242 F2 1 9
244 F4 1 10
246 F6 1 11
248 F8 1 12
250 FA 1 13
252 FC 1 14
254 FE 1 15

¡Tenga cuidado de no enviar más de un sonar a la misma dirección, o se producirá una colisión del bus con resultados impredecibles!

Nota- Hay solo una dirección de modulo almacenada en el SRF02. Si la cambia, la dirección equivalente del modo serie cambiará:

0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE Dirección I2C
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F Dirección Serie equivalente

AUTO-AJUSTE

El SRF02 no requiere ningún tipo de calibración, solo con conectarlo ya funciona correctamente. Cuando se conecta la alimentación (o se ejecuta el comando 0x60) se producen una serie de ajustes internos cuyos algoritmos permiten calcular cuál es la distancia mínima que se puede medir. Esta puede variar en función de la temperatura y de un transductor a otro pero normalmente va desde 11 a 16 cm (4" a 6") o un poco más si el transductor está caliente. El SRF02 es capaz de detectar el tiempo de respuesta del transductor y cambiar su umbral de detección hasta igualarlo lo que hace que el SRF02 funcione siempre lo mejor posible. Si fuera necesario el alcance mínimo se puede comprobar mediante los registros de lectura 4 y 5. El valor vendrá expresado en mS, cm o pulgadas según corresponda. También se podría volver a reajustar el SRF02 escribiendo el comando 96.

El sensor SRF02 puede conectarse directamente al PC con la ayuda del circuito USBI2C S310425

Conexión de un sensor SRF02 a un PC con la ayuda del circuito USBI2C S310425.

MODO SERIE

Muchos pequeños controladores como el BasicX24, OOPic, BS2p, PicAxe etc. así como una amplia variedad de microcontroladores tienen puertos series. El SRF02 en modo serie permite una comunicación estandar con niveles TTL a 9600 baudios, 1 bit de inicio, 8 de datos, 2 de parada y sin paridad. Para usar el SRF02 en modo Serie asegurese que el Modo pin esta conectado a 0v. El SRF02 simplemente necesita recibir 2 bytes la dirección del propio SRF02 ( que por defecto es 0) y el comando a ejecutar. Como tiene la opción de seleccionar hasta 16 direcciones diferentes le permite conectar más de un sonar al mismo puerto serie.

¡RECUERDE SIEMPRE NO CONECTAR EL SRF02 A UN PUERTO RS232 O DESTRUIRÁ EL MÓDULO!

CONEXIONES

Las conexiones del SRF02 son como se muestran en el dibujo de debajo. Pero tiene que tener en cuenta que el Modo Pin debe estar conectada a (0V) para que el SRF02 actúe como modo serie.

El pin (RX) es una entrada por la que se recibe la dirección y el comando a ejecutar y debería estar conectado a el pin transmisor (TX ).

El pin (TX ) es el que se encarga de transmitir el resultado del comando ejecutado.

Mientras tengan diferentes direcciones se pueden conectar varios sonar SRF02 a un mismo bus, para ello solo deberá conectar la señal TX a todos los pin RX disponibles, igual que se conecta todos los pin TX disponible a una única señal RX del controlador maestro. No debería haber problemas en lo que a la interferencia de señales TX se refiere ya que todas las señales se mantienen en impedancia alta excepto cuando una de ellas tenga que transmitir información.

Conexiones del sensor SRF02 en modo serie. Clic para ampliar

COMANDOS

Para enviar un comando a el SRF02 solo necesita enviar 2 bytes, el primero con la dirección del SRF02 del 0 al 15 y el otro el comando propiamente dicho. La función de cada comando viene recogida en la tabla de abajo:

Comandos Descripción
Decimal Hexadecimal
80 0x50 Iniciar una nueva medida. Resultado en pulgadas
81 0x51 Iniciar una nueva medida. Resultado en centímetros
82 0x52 Iniciar una nueva medida. Resultado en micro segundos
83 0x53 Iniciar una nueva medida. El resultado en pulgadas se transmite automáticamente por Tx
84 0x54 Iniciar una nueva medida. El resultado en centímetros se transmite automáticamente por Tx
85 0x55 Iniciar una nueva medida. El resultado en micro segundos se transmite automáticamente por Tx
     
86 0x56 Iniciar una nueva medida falsa. Resultado en pulgadas
87 0x57 Iniciar una nueva medida falsa. Resultado en centímetros
88 0x58 Iniciar una nueva medida falsa. Resultado en micro segundos
89 0x59 Iniciar una nueva medida falsa. El resultado en pulgadas se transmite automáticamente por Tx
90 0x5A Iniciar una nueva medida falsa. El resultado en centímetros se transmite automáticamente por Tx
91 0x5B Iniciar una nueva medida falsa. El resultado en micro segundos se transmite automáticamente por Tx
     
92 0x5C Transmite una ráfaga de 8 ciclos a 40KHz. No se realiza ninguna medida
93 0x5D Leer la versión del firmware interno
94 0x5E Leer la medida. Devuelve dos bytes con el resultado de la última medida realizada.
95 0x5F Leer la medida de distancia mínima. Devuelve dos bytes con el resultado de la última medida mínima realizada.
96 0x60 Fuerza un reinicio del sonar SRF02 realizando un ciclo de auto-ajuste.
     
160 0xA0 1º Comando de secuencia para el cambio de dirección del SRF02
165 0xA5 3º Comando de secuencia para el cambio de dirección del SRF02
170 0xAA 2º Comando de secuencia para el cambio de dirección del SRF02

CAMBIANDO LA DIRECCIÓN SRF02

Para cambiar la dirección I2C del SRF02 es necesario que tenga conectado solamente un bus. Se debe escribir la secuencia de los 3 comandos en el orden correcto seguido de la nueva dirección que se le quiere poner. Por ejemplo para cambiar la dirección por defecto de un sonar actualmente en (0x00) (la dirección enviada por defecto) a (0x05),debe escribir la siguiente dirección a 0;

(0xA0, 0xAA, 0xA5, 0x05).

Estos comandos deben ser enviados en la secuencia correcta evitando además mandar ningún otro comando en mitad de la secuencia. Esta secuencia debe ser enviada a el registro de comandos 0 en cuatro ciclos de escrituras diferentes y consecutivos como siguen:

0x00, 0xA0 entonces 0x00, 0xAA luego 0x00, 0xA5 y finalmente 0x00, 0x05,

Pasando esta a ser la dirección actual mientras que no se cambie a otra nueva. Deberá etiquetar el sonar con su dirección pero si se le olvida solo necesita encender este sin enviar ningún comando ya que el SRF02 emitirá su dirección en unos destellos en el led.

Dirección Destello largo Destello corto
Decimal Hexadecimal
0 00 1 0
1 01 1 1
2 02 1 2
3 03 1 3
4 04 1 4
5 05 1 5
6 06 1 6
7 07 1 7
8 08 1 8
9 09 1 9
10 0A 1 10
11 0B 1 11
12 0C 1 12
13 0D 1 13
14 0E 1 14
15 0F 1 15

¡Tenga cuidado de no configurar más de un sonar con la misma dirección, pues esto producirá una colisión del bus con resultados impredecibles!

Nota - Hay solo una dirección de modulo almacenada en el SRF02. Si la cambia, la dirección equivalente del modo serie cambiará:

0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F Dirección Serie
0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE Dirección I2C equivalente

AUTO-AJUSTE

El SRF02 no requiere ningún tipo de calibración, solo con conectarlo ya funciona correctamente. Cuando se conecta la alimentación (o se ejecuta el comando 0x60) se producen una serie de ajustes internos cuyos algoritmos permiten calcular cuál es la distancia mínima que se puede medir. Esta puede variar en función de la temperatura y de un transductor a otro pero normalmente va desde 11 a 16 cm (4" a 6") o un poco más si el transductor está caliente. El SRF02 es capaz de detectar el tiempo de respuesta del transductor y cambiar su umbral de detección hasta igualarlo lo que hace que el SRF02 funcione siempre lo mejor posible. Si fuera necesario el alcance mínimo se puede comprobar enviando el comando 95. El valor vendrá expresado en mS, cm o pulgadas según corresponda. También se podría volver a reajustar el SRF02 escribiendo el comando 96.

Ejemplos y Aplicaciones

En la sección de tutoriales puede encontrar un ejemplo de aplicación de este circuito para crear un sonar múltiple totalmente controlado desde un PC por USB. Se incluye los esquemas de conexión, así como el programa en Visual Basic correspondiente que muestra su funcionamiento.

Progrma de control Multisonar.

 

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

13,75-Euros.
IVA incluido
AÑADIR AL CARRITO DE LA COMPRA

SRF02 SENSOR DE DISTANCIAS POR ULTRASONIDOS SIMPLE

Vea mas productos de esta categoría en:

Sensores y detectores para robótica.

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

Actualizada el 07/01/2014 © 2002 -2014 INTPLUS ®. Todos los derechos reservados