Pregunta de telémetro ultrasónico múltiple

He estado investigando sobre telémetros ultrasónicos como sensores para robótica. Los he visto conectados a servos y girados para "mirar" efectivamente frente al robot y asegurarme de que el camino esté despejado.

Si bien este enfoque es muy efectivo en su mayor parte, espero que se pueda mejorar. Lo que necesito saber es si es posible usar varios transductores ultrasónicos (digamos 4) al mismo tiempo haciendo que cada uno emita y escuche una frecuencia diferente.

Aquí hay una imagen de lo que quiero decir:

robot con rayos de colores, cada rayo simboliza la dirección de un transductor de ultrasonido diferente, cada color representa una frecuencia diferente

En esta imagen, el cuadro verde representa mi robot. La pequeña caja azul representa un panel con 4 transductores ultrasónicos en ángulos separados. Los rayos que emite el cuadro azul representan el ángulo al que apunta cada transductor. Los diferentes colores de los rayos representan diferentes frecuencias. Digamos, por ejemplo: 34 KHz, 36 KHz, 38 KHz y 40 KHz.

Si esto es posible, ¿cómo haría para obtener transductores ultrasónicos que produzcan diferentes frecuencias? La mayoría de ellos parecen venir con 40 KHz. ¿Puedo simplemente regular la frecuencia de ellos a través de mi placa Arduino de alguna manera?

editar Además, ¿es posible usar un transductor ultrasónico para producir el rango completo de frecuencias? IE: Giro el servo 4 veces más rápido, hago ping 4 veces más rápido, ¿pero subo un intervalo de frecuencia después de cada ping? ¿Puede un solo transductor escuchar frecuencias variables?

Respuestas (2)

Un transductor ultrasónico piezoeléctrico típico no será tan eficiente cuando se utilice a frecuencias distintas a las nominales. Actúan un poco como un tanque LC resonante, por lo que la sensibilidad cae bastante bruscamente.
Una cifra típica parece ser ~2kHz -6dB de ancho de banda (por ejemplo, con un transductor de 40kHz si será la mitad de sensible o dará la mitad de la salida a 39kHz y 41kHz)

40kHz parece ser el más común (y barato) pero puedes obtener diferentes frecuencias como 25kHz, 60kHz, 180Khz, etc.

Sin embargo, en lugar de hacer esto, ¿por qué no usar 4 del mismo y pulsar cada uno por separado, o usar uno y rotar en el ángulo deseado con el servo?
A menos que su robot viaje muy rápido, no debería importar si escalona ligeramente los pulsos. Incluso puede hacer un SONAR básico de esta manera, aquí hay un ejemplo interesante basado en PIC .

Bueno, toda la razón de esto es que me preocupa que en áreas que contienen muchos obstáculos (cajas IE), las señales podrían rebotar y un transductor podría recibir una respuesta de otro diferente antes de recibir una respuesta de sí mismo, por lo tanto haciendo que las lecturas sean tremendamente inexactas. La idea de usar 4 frecuencias separadas sería para poder escanear 4 veces más rápido sin perder precisión y, por lo tanto, ser capaz de moverse más rápido.
ese sonar es exactamente lo que pretendo hacer, pero quiero que escanee muy rápido para que mi robot pueda usarlo mientras se mueve a velocidades decentes, en lugar de avanzar, escanear, avanzar un poco más, escanear, etc. o avanzando muy lentamente durante la exploración.
¿Sabe si el transductor podrá detectar con precisión diferencias tan pequeñas como, quizás, 100 MHz? ¿Es decir, 39.8, 39.9, 40.0, 40.1, 40.2 khz? ¿De esa manera podría usar un transductor estándar de 40khz sin perder tanta potencia?
Cada pulso decaerá rápidamente, si establece un umbral razonable en su rutina de detección, debería poder lidiar con esto (tenga en cuenta que la distancia que puede detectar disminuirá con configuraciones altas). Si desea ser inteligente al respecto, tal vez podría tener un algoritmo adaptativo que escanee las características de reverberación de la sala y establezca el tiempo/umbral en consecuencia. Todo depende de qué tan rápido necesite hacer esto; si es muy rápido, probablemente sea una buena idea usar transductores de diferentes clasificaciones.
El transductor detectará pequeños cambios de frecuencia alrededor de la frecuencia resonante, pero aún necesitará detectarlos/filtrarlos después.
Tengo algo de tiempo, así que supongo que conseguiré uno de 40 khz y experimentaré con él, si puede lograr 4 frecuencias diferentes con suficiente rango, entonces genial, si no, probaré tus otras sugerencias. Necesita ir 2-3 veces más rápido que este pequeño: youtube.com/watch?v=eCDU8mMcU5I&t=6m0s (planeo usar un sensor de proximidad IR y posiblemente telémetros ultrasónicos redundantes para ayudar a evitar chocar contra cosas a alta velocidad cuando el el bot los pierde en su escaneo)

¿Es posible usar múltiples sensores ultrasónicos en un solo robot? Sí: "Uso de varios sensores de sonda" .

Como ya se dio cuenta, un sensor a menudo recibe ecos de pings enviados por otro sensor. Hay varias formas de lidiar con la sensibilidad cruzada, aproximadamente en orden de la más simple primero:

  • haga ping solo en un transductor a la vez, ignorando todos los demás transductores mientras espera que los "ecos fantasmas" del transductor actual se apaguen antes de hacer ping en el siguiente transductor. Esto es mucho más rápido que rotar mecánicamente un solo transductor. Quizás esto sea lo suficientemente rápido, a menos que su robot esté embistiendo cosas casi a la velocidad del sonido :-).
  • Use transmisores o receptores de ángulo de haz relativamente estrecho (o ambos) por sensor, y aumente el ángulo de un sensor al siguiente para que un sensor no pueda escuchar el eco de otro (a menos que el material en frente del transductor provoque algunos reflejos laterales extraños). ) -- sensores separados en un ángulo aproximadamente igual al ángulo del haz. Por desgracia, esto deja "puntos ciegos" entre los transductores donde ningún transductor puede ver los objetos.
  • Alguna combinación, por ejemplo, aumentar el ángulo de un sensor a otro para que un sensor solo escuche los ecos de sus 2 vecinos (aproximadamente la mitad del ángulo del haz); luego alterne entre hacer ping en los transductores pares (ignorando los transductores impares) y hacer ping en los transductores impares (ignorando los transductores pares).
  • cada transductor operando a una frecuencia diferente. Por desgracia, todos los transductores ultrasónicos de bajo costo, con pocas excepciones , están sintonizados para resonar a 40 kHz. Al escuchar una variedad de señales, estos transductores solo pueden "escuchar" señales que están dentro de unos pocos kHz de 40 kHz. Tendrá que equilibrar (a) Cuanto más lejos de 40 kHz use un transductor diseñado para 40 kHz, menos sensible será, por lo que querrá una frecuencia "relativamente cercana" a 40 kHz; y (a) Cuanto más cerca están todas las frecuencias, más difícil es discriminar entre ellas, por lo que desea un conjunto de frecuencias que estén "relativamente separadas". No sé si hay un buen compromiso o no; si no, estás atascado con (c) usar sensores más caros sintonizados a otras frecuencias,Sensores de "banda ancha" no sintonizados a ninguna frecuencia en particular.
  • Utilice varios tiempos de transmisión para descartar ecos fantasma. Digamos que transmite desde la izquierda, demora 2 ms (no lo suficiente como para dejar que los ecos se apaguen), luego transmite desde la derecha, ... después de que los ecos se apaguen, luego transmite desde la izquierda, demora 3 ms, luego transmite desde la derecha. Si el receptor derecho recibe un eco 5 ms más tarde en ambas ocasiones, puede estar bastante seguro de que es un eco real; si el receptor derecho recibe un eco 5 ms más tarde la primera vez, 6 ms más tarde la segunda vez, es probable que sea un fantasma del receptor izquierdo. (Existen técnicas mucho más sofisticadas de "espectro ensanchado" para separar muchos transmisores que usan la misma frecuencia al mismo tiempo).
  • Combine las señales de todos los receptores. Si tiene un transmisor central que suena en todas las direcciones (o, de manera equivalente, tiene transmisores apuntando en todas las direcciones y los hace sonar a todos en el mismo instante), y el primer eco que recibe golpea primero el receptor izquierdo (luego luego el derecho). receptor escucha un eco), usted sabe que el obstáculo más cercano está más cerca del lado izquierdo que del lado derecho. (Existen técnicas más sofisticadas de "matriz en fase" que combinan señales de todos los receptores, e incluso técnicas más sofisticadas de "formación de haces" para ajustar ligeramente los tiempos de transmisión de todos los transmisores).

pd: ¿Ha visto "Infrarrojos vs. Ultrasónicos - Lo que debe saber" ?

Vaya, muchas gracias por toda la información! ¡Ojalá pudiera darles a usted y a Oli Glaser la respuesta aceptada! Te lo daría, pero no quiero quitarle puntos de reputación que ya le otorgué. No puedo creer que el sensor de ancho de banda amplio cueste solo ~ $ 7.00 ... Sin embargo, necesitaría dos de ellos por frecuencia, ¿no? Probaré algunas de las técnicas que ha enumerado aquí con sensores normales de 40 khz, y si es lo suficientemente fácil filtrar los ecos de los otros transductores, no compraré los más caros.