martes, 3 de marzo de 2015

Práctica 3.3: sensor ultrasonidos HC-SR04.


Tutorial: sensor ultrasonidos HC-SR04.

Introducción

Este sensor tiene el mismo funcionamiento que un radar ya que envia pulsos a alta frecuencia en este caso ultrasónicos. Está compuesto por dos piezoeléctricos: un transmisor y receptor ambos en forma de cilindro. El transmisor se encarga de emitir la señal ultrasónica para luego ser rebotada a través de un objeto llegando al cilindro receptor.

 Asumiendo que la velocidad de este sensor es apróximadamente unos 340 m/s, entonces se puede obtener más o menos la distancia a la cual está el objeto.
 
Al ser un sensor ultrasónico, éste trabaja en la banda de los 40 kHz casi el doble de la frecuencia de muestreo para una señal de audio. Esto quiere decir que para el ser humano es imposible percibir a través de los oídos esta señal ya que supera el ancho de banda del oído humano que es de hasta apróximadamente 20 kHz. Un sensor ultrasónico puede trabajar en áreas donde se tenga completa oscuridad ya que las luces no afectan o detienen su funcionamiento.

Aplicaciones y ventajas
 

Debido a sus características, podemos encontrar sensores de ultrasonidos en aplicaciones como:
  • Medición de nivel – en tanques que contienen diferentes productos en forma líquida-.
  • Control de colisiones en sistemas de aparcamiento.
  • Control de posición en campos como robótica, industria del plástico, etc.
  • Control de llenado de tanques.
Las principales ventajas de estos sensores son:
  • No necesitan contacto físico para poder detectar objetos.
  • Buena relación calidad-precio
  • En comparación con otras tecnologías, los dispositivos basados en ultrasonidos son compactos y livianos.

 Conexiones

 

 Programa



long distancia;
long tiempo;
void setup(){
  Serial.begin(9600);
  pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
  pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
}

void loop(){
  digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
  delayMicroseconds(5);
  digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
  delayMicroseconds(10);
  tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante. Mide el tiempo que transcurrido entre el envío
  del pulso ultrasónico y cuando el sensor recibe el rebote, es decir: desde que el pin 12 empieza a recibir el rebote, HIGH, hasta que
  deja de hacerlo, LOW, la longitud del pulso entrante*/
  distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
  /*Monitorización en centímetros por el monitor serial*/
  Serial.println("Distancia ");
  Serial.println(distancia);
  Serial.println(" cm");
  delay(1000);
}


Características

A comparación de otros dispositivos anteriomente mostrados en Clase911, este sensor tiene únicamente cuatro pines. Dependiendo del fabricante, puede tener desde tres hasta cinco pines. Para este caso se tiene:
VCC: Voltaje de alimentación
TRIG: Pin de disparo
ECHO: Pin de eco
GND: Ground
Medición mínima: 2 cm
Medición máxima: 5 m
Ángulo efectivo < 15 °
Señal de disparo: TTL de 10 us.
Unidades de operación

Parámetros
de operación
Min Típ. Máx Unidad
Voltaje
de operación
4.5 5 5.5 V
Corriente 10 15 20 mA
Indagaré entonces a profundidad cómo funciona este sensor, para que puedan observar que realmente es sencillo. Para ello, haré uso de la data del fabricante:
En la data se presenta un diagrama de tiempo que es muy importante conocerlo y dominarlo. Funciona de la siguiente manera:
Sensor Timing Chart
Se tienen tres canales: el canal del disparo, el canal donde se emite la señal desde el módulo y el canal del eco respectivamente.
Para que el módulo inicie su trabajo es necesario enviar un pulso TTL (típicamente 5 V) con una duración de 10 us. Una vez se haya enviado este pulso a través del pin TRIG entonces el módulo comenzará a trabajar internamente enviando varios pulsos ultrasónicos de 40 kHz apróximadamente. Una vez que el módulo haya enviado ocho pulsos, el pin de eco enviará la distancia a la cual está el objeto en forma de pulsos con nível TTL de amplitud más baja. Dependiendo del ancho del pulso que emita el receptor, se tendrá distintos valores de distancias. El ancho de pulso para el pin eco va desde apróximadamente 150 us a 25 ms. El caso especial ocurre a 38 ms que es cuando el sensor indica que no hay obstáculo. Y así es que funciona el sensor.

Ángulo efectivo

Este sensor presenta una gráfica similar a la de un patrón de radiación, con esta información se puede saber a qué ángulo desde una referencia inicial se pueden obtener mejores resultados en las lecturas. El patrón de radiación es una gráfica que presenta propiedades importantes en base a coordenadas espaciales, generalmente esféricas. La propiedad más relevante en este tipo de gráfica es la distribución de energía, es decir cuántos dB tenemos en función de un punto de referencia a lo largo de un radio que no cambia. Para este caso se comenta a qué distancia se puede detectar un objeto en función del ángulo.
El ángulo efectivo para este sensor es de 15 °, esto indica que el sensor podrá detectar objetos a un rango de 30 °, 15 ° hacia la derecha e izquierda del ángulo cero. A continuación presento la imagen:
Sensor Angle
Aquí se observa que en efecto para un angulo menor a 15 grados, las lecturas son bastante buenas.

Consideraciones

  • Antes de conectarlo a la red, primero asegúrate que esté conectado a la refencia o bien: ground.
  • Recuerda que todos los sensores de este tipo tienen una zona ciega, para evitar salidas inestables utilizada el sensor para medir distancias a más de 80 cm desde su frente.
  • La temperatura es un factor que puede afectar las lecturas del sensor, la velocidad de propagación de una onda mecánica decrece a medida que la temperatura aumenta.


Fuente:

elcajondeardu.blogspot.com.es
panamahitek.com
opiron.com

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.