Sistema de coordenadas ultrasónicas 2.0

Sistema de coordenadas ultrasónicas 2.0


De qué se trata este artículo: Este artículo describe los principios de operación de mi sistema de determinación de coordenadas y mi experiencia en su fabricación. Este artículo no es una instrucción para la fabricación de un sistema de navegación, porque no es tan simple de describir en un artículo.



Este artículo es un desarrollo de las ideas de mi artículo anterior:
habr.com/en/post/451408

Estructura del sistema


El sistema de determinación de coordenadas tiene el siguiente diagrama estructural:


Fig. 1 - Diagrama esquemático del sistema de ultrasonido para determinar coordenadas.

Consideremos cada elemento más de cerca.

Receptor de ultrasonido







Fig. 2 - Desarrollo de receptor de ultrasonido (de arriba a abajo).

Inicialmente, los receptores consistían en un módulo y tenían un área de cobertura muy pequeña de la sala, en esos días no digitalizaba la señal, sino que simplemente recibía del sensor la longitud que daba el controlador regular.

Luego, para aumentar la cobertura, decidí hacer un módulo de tres sensores, cuyos datos se digitalizaron y transmitieron simultáneamente a una PC, donde se calcularon la distancia y las coordenadas. Después de probar un receptor de tres componentes, vi que un receptor es suficiente si procesas la señal tú mismo.

Como resultado, el receptor nuevamente se convirtió en un componente, pero debido al hecho de que actualmente estoy procesando la señal, el área de cobertura se ha vuelto bastante grande. La señal ahora se procesa en STM32 después de la digitalización, emite solo la distancia a la salida.

Composición:
  • STM32: se utiliza para digitalizar la señal ultrasónica y calcular la distancia al emisor;
  • HC-SR04: lo modifiqué un poco y ahora puedo recibir la señal de su entrada, que se muestra en la Figura 3;
  • RS485: para transmitir la distancia al emisor a una PC.


Fig. 3 - Señal ultrasónica digitalizada.


Fig. 4 - señal de ultrasonido en el área 4700 - 5200 de la figura anterior.

Emisor ultrasónico







Fig. 5 - Desarrollo del emisor (de arriba a abajo).

Como puede ver en la Figura 5, al principio simplemente tiré del pie Trig en el sensor HC-SR04, no era el mejor sistema, solo porque no podía determinar cuántas ondas ultrasónicas podía crear, no podía cambiar su potencia, y este emisor Era lo suficientemente voluminoso.

Luego creé una segunda versión, que era mucho más engorrosa, pero ya podía regular todo con STM32 y L293D, que estaban conectados directamente al altavoz de ultrasonido. Ahora, en lugar de los 5 voltios estándar, apliqué 17, y esto aumentó considerablemente el área de trabajo. También agregué un módulo de radio y una interfaz RS485, lo que hizo que este módulo fuera independiente.

Después de una serie de pruebas, decidí reducir el emisor a un tamaño decente y armarlo más firmemente, como resultado de lo que ves en la última imagen.

Composición:
  • STM32: recibe el comando Trig (comenzar a medir distancias) a través del canal de radio y emite una señal ultrasónica, también transmite los comandos recibidos desde el módulo de radio a RS485 (lo uso para el control remoto de la plataforma móvil);
  • RS485 - interfaz de información del dispositivo para el usuario;
  • Amplificador DC-DC: convierte la fuente de alimentación de 5V a 17V para el emisor;
  • L293D - Utilizo para generar una señal ultrasónica fuerte con un voltaje de 17V;
  • nRF24 - canal de radio;
  • Emisores: 6 emisores que se extraen del módulo HC-SR04.

Módulo base



Fig. 6 - El módulo básico.

Composición:
  • STM32: envía Trig al emisor y receptores, recibe comandos USB de la PC para su transmisión a través del canal de radio al emisor (también conocido como un módulo móvil);
  • nRF24 - transmitiendo Trig al emisor y transmitiendo comandos al emisor.

Módulo de PC


La PC a través del adaptador RS485 está conectada a todos los receptores ultrasónicos, en esta interfaz recibe todas las longitudes de ellos y calcula las coordenadas del módulo móvil. A través de USB se conecta al módulo base y a través de él transfiere comandos de control al módulo móvil.

Ubicación de los módulos en el área de trabajo.


El mapa de una habitación con receptores de ultrasonido colocados en las esquinas se ve así:


Fig. 7 - La idea general de la ubicación de los sensores.


Fig. 8 - Vista superior en una escala (círculos, con números dentro, se indican los sensores).

El algoritmo de trabajo del sistema de determinación de coordenadas ultrasónicas.


  1. El módulo base envía un comando Trig al emisor (por el aire) y a los receptores (por el cable).
  2. El emisor comienza a emitir y los receptores comienzan a escuchar la transmisión.
  3. Cada receptor, habiendo escuchado la señal ultrasónica, registra el tiempo entre el comando Trig y el tiempo de recepción de esta señal y la traduce a una distancia.
  4. Los receptores RS485 envían distancias desde el emisor a sí mismos en una PC.
  5. La PC calcula las coordenadas del emisor.

Operación del sistema


Al ejecutar todo esto, obtenemos las coordenadas del objeto, la precisión depende del lugar en la habitación. En los mejores lugares, el error no excede un par de centímetros, y en el peor ... bueno, usted mismo puede ver todo en la Figura 9.


Fig. 9 - Mover el emisor por la habitación.

Hay cuatro conjuntos de coordenadas en esta figura, ya que tenemos cuatro receptores, y para determinar las coordenadas en el espacio tridimensional solo necesitamos tres, luego tenemos cuatro combinaciones de receptores.

Como se puede ver en la figura, en general, el sistema determina las coordenadas correctamente, pero en diferentes lugares el error es diferente. Moví el emisor paralelo a los ejes X e Y, en algún lugar con un intervalo entre las líneas en un metro, en algún lugar en medio metro, esto se puede ver en la figura. La mejor precisión está en el centro, y en los bordes todo es malo, porque desde allí la señal ultrasónica cae sobre el receptor en un ángulo grande, y esto crea distorsiones en la señal digitalizada.

Después de filtrar y promediar cuatro pares de coordenadas, obtenemos la siguiente imagen:


Fig. 10 - Trayectoria promedio.

No hielo, sino lo que hay allí.

Por diversión, te mostraré cómo se ve todo en 3D, porque también tenemos una tercera coordenada, aunque no es necesaria en mi proyecto, porque un robot móvil se mueve solo en un plano.


Fig. 11 - Trayectoria 3D.

Como podemos ver, todos los puntos se encuentran aproximadamente en el mismo plano, y esto es correcto, porque conduje el emisor a través del piso sin despegarlo.

Y aquí hay un ejemplo de un paso sin éxito de una plataforma móvil con un emisor, su trayectoria es claramente visible. Según el plan, se suponía que la plataforma volvería al punto de partida, ya que había pasado por un camino rectangular, pero no funcionó, en los siguientes artículos le diré por qué.


Fig. 12 - La trayectoria de movimiento de la plataforma móvil.

Problemas reales


Actualmente tengo una serie de problemas urgentes, y si alguien puede sugerir algo, escríbalo en los comentarios o en VK:
vk.com/b__s__v

1. ¿Cuál es la mejor manera de recibir una señal de ultrasonido? Los sensores HC-SR04 que ahora uso para recibir y amplificar una señal de ultrasonido no son la mejor opción. En primer lugar, porque siempre reciben una señal con una sola frecuencia y no se puede hacer una separación de frecuencia de las fuentes de señal de ellas (lo cual es interesante para mí probar), además, son demasiado voluminosos y yo soy muy dependiente de ellos.
2. ¿Cómo eliminar las distorsiones de coordenadas en diferentes rincones de la habitación? En la cuadrícula que dibujé en el piso, se puede ver que a veces las líneas rectas comienzan a desviarse, aunque siempre moví el módulo móvil sin problemas, y de alguna manera necesito deshacerme de él.
3. Para nRF24, la señal desaparece. Cuando los módulos están cerca, entonces no hay problemas, pero vale la pena extenderlos unos pocos metros y pararse entre ellos, ya que los mensajes llegan a través de uno. No tengo que reenviar mensajes allí, porque transmito señales de reloj en este canal, y siempre deben venir en el mismo segundo. Tengo módulos con una antena externa, y el del módulo base funciona mejor sin antena que con él. No entiendo nada, el poder está al máximo.
4. Lugares de promoción de proyectos. Si alguien conoce sitios internacionales como Habr en inglés, deseche los enlaces, de lo contrario no he encontrado nada decente, pero stackoverflow, estas son solo preguntas y respuestas, no del todo para publicar artículos similares.
5. Comentarios y sugerencias. Si alguien quiere hablar, me complacerá recibir críticas y sugerencias.

Esto está lejos del final de mi proyecto, aunque el tiempo está llegando a su fin, pero si hay interés, escribiré un artículo sobre cómo viaja un robot móvil basado en este sistema en las coordenadas dadas en mi habitación.

Source: https://habr.com/ru/post/479530/


All Articles