|

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.

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.

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.

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.


Haga clic en el botón COMPRAR para añadir este producto a su carrito de la compra.
11,85-Euros.
IVA no incluido
13,75-Euros.
IVA incluido
|
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 18/02/2010 © 2002 - 2010 INTPLUS ®. Todos los derechos reservados
|