Hace ya algún tiempo que estuvimos presentando
como funcionaba el sensor ultrasónico HC-SR04 y un sketch que
podríamos usar para verlo en acción. Con
este sensor ultrasónico, podíamos medir un rango de distancias sensible entre
3cm y 3m con una precisión de 3mm.
Y como ya explicamos en su momento, funciona del mismo modo que lo hacen los murciélagos, esto es, enviando un
ultrasonido (inaudible para el oído humano por su alta frecuencia) a través de
uno de la pareja de cilindros que compone el sensor (un transductor) y espera a
que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro
cilindro.
Pues bien hay situaciones en las que nos podría
interesar no tanto medir la distancia real a la que estamos de un obstáculo
sino más bien si hay alguno lejos, cerca o muy cerca, y en función de los resultados
tomar decisiones sobre la marcha de nuestro robot. Este tipo de enfoques no
permitiría un procesado más rápido de la señal, y menos recursos computacionales
de los datos. Debemos de tener en cuenta que para calcular la distancia a la
que se encuentra un obstáculo usando el sensor ultrasónico, debemos emitir un
pulso sónico, esperar el eco, y luego con sabiendo que la velocidad del sonido en
el aire es de valor 340 m/s, o 0,034 cm/microseg (ya que trabajaremos con
centímetros y microsegundos) y que la formula de la velocidad es
Tendremos el espacio de ida y vuelta recorrido
por nuestro pulso ultrasónico,
ahora tendremos que dividirlo entre dos para saber la distancia a la que se encuentra (recordemos que el pulso va y viene, por lo que la distancia del obstáculo es la mitad de la recorrida por nuestro pulso de ida-detección-vuelta-notificación)
Además, como el pulso se genera siempre a una
frecuencia dada, imaginaros si tenemos tres o cuatro sensores ultrasónicos a la
vez, cada uno mirando a un lado de nuestro robot, sin duda alguna correremos el
riesgo de que ciertos ecos de un sensor se reciban por otro sensor y los
interprete como propios, por lo que adicionalmente a los recursos que nuestro
Arduino debe emplear para el cálculo de la distancia, tendremos que implementar
otros filtros a nivel de programación para identificar los falsos ecos y
descartarlos.
Por todo ello, a veces solo queremos saber si
hay o no hay un obstáculo y hacerlo muy deprisa. Por ejemplo si estamos
diseñando un seca manos que necesita ver si un cliente tiene las manos en el
rango de trabajo del secador.
Para ello podríamos pensar en buscar algún
sensor que funcionara con luz en lugar de con sonido. Todos sabemos que la velocidad
de la luz es casi un millón de veces más rápida que la del sonido (es la razón
de que vemos primero el relámpago y luego escuchamos el trueno).
Pues bien, la empresa SHARP tiene diseñado una
serie concreta para rangos de trabajo diferentes. Tres ejemplos de ellos los
mostramos a continuación
- De 4 a 30 cm, el GP2Y0A41SK0F
- De 20 a 150 cm, el GP2YA02YKF
- De 10 a 80 cm, el GP2YA021YK0F
Y hemos presentado estos tres por que son los
tres que vienen con terminación en conectores de la serie PH del fabricante
JST,
que nos permitiría implementar el mismo tipo de
conexionado independientemente del rango de distancias y sensor que vayamos a
usar. Todos ellos tienen el mismo configuración de los pines (lo que se conoce por el pin-out).
Adicionalmente y con objeto de que lo podamos usar en distintas configuraciones el propio POLULU ha diseñado diferentes escuadras para poder anclarlo en la forma que más nos apetezca
Adicionalmente y con objeto de que lo podamos usar en distintas configuraciones el propio POLULU ha diseñado diferentes escuadras para poder anclarlo en la forma que más nos apetezca
de este modo, podríamos situarlos como vemos a continuación,
O mejor, si lo colocamos encima de un servomotor, podremos con un solo sensor de infrarrojos mapear todos los obstáculos que se encuentren a nuestro alrededor.
Visto la parte mecánica, ahora echemos un vistazo a la parte eléctrica. De estos tres modelos que hemos presentado, nos vamos a centrar en el rango
intermedio de 10 a 80 centímetros ofrecidos por POLULU: GP2YA021YK0F.
Las características más relevantes del mismo
son:
Parámetros
|
Valor
|
Rango
de distancia
|
10 – 80
cm
|
Velocidad
de muestreo
|
26 Hz
|
Rango
de tensión de trabajo
|
5.5 –
4.5 voltios
|
Consumo
de corriente
|
30 mA
|
Tipo de
salida
|
Analógica
|
Diferencia
de tensión entre extremos
|
1,9
voltios (80 cm contra 10 cm)
|
Lo primero que nos salta a la vista es el
consumo del sensor 30 mA. Si recordamos lo que
vimos en entrada en la que estuvimos viendo las limitaciones de potencia eléctrica, aunque no debemos sobrepasar 40 mA en los pines digitales, lo recomendable es mantenerse en el orden de los 20 mA. Es por ello, por lo
que el propio SHARP en previsión de que pueda haber algún tipo de problemas
con el suministro, aconseja que se coloque un condensador de 10 µF o
mayor, entre el pin de alimentación y de tierra para estabilizar la línea.
Lo segundo que vemos es que la salida es
analógica, y no digital como hubiéramos esperado para este tipo de sensores.
Por lo que podríamos creer que son una formula parecida a la que usamos para
nuestro sensor de ultrasonido, podríamos no solo detectar el obstáculo,
sino también calcular la distancia a la que se encuentra.
Como podemos ver en la gráfica que mostramos a
continuación, la respuesta del sensor no es lineal más allá de los primeros centímetros,
por lo que dejaremos para
otra entrada, como calcular la fórmula y hacer los ajustes necesarios para
calibrar los resultados de forma adecuada.
En la próxima entrada veremos los esquemas de conexión que debemos usar y un sketch simple que nos permitirá evaluar los resultados que podemos obtener con este tipo de sensores.
Y ya sabéis, si tenéis alguna sugerencia o duda,
no tenéis más que mandarnos un correo a
e intentaremos responder a vuestra pregunta lo
antes que podamos.
No hay comentarios:
Publicar un comentario