Ordenador de Control ODROID-XU4: Creando un Sistema de Control Todo en Uno

Este proyecto empezó en la primavera de 2017, y al fin siento que he avanzado lo suficiente como para publicar lo que he estado haciendo. Todo comenzó cuando estaba recibiendo un curso de Robótica Bayesiana, y pensé que sería interesante aplicar lo que había aprendido. El único problema era que no había un sistema Linux embebido que tuviera la suficiente potencia informática como para ejecutar grandes filtros de partículas a un coste razonable, y que también tuviese los sensores necesarios (GPS, IMU) de una calidad razonable integrados, así que decidí crear uno.

Especificaciones del diseño

  • La placa alojará múltiples IMU MEMS en diferentes buses para la redundancia y para permitir la implementación de un filtro Bayesiano de múltiples sensores
  • La placa alojará un único receptor GNSS para permitir una precisión de localización de + -2.5m al aire libre. Se eligió GNSS para acceder a los sistemas GPS US y GLONASS Russian, y por el arranque en frío más rápido.
  • La placa soportará una interfaz análoga capaz de medir tensiones de hasta 20V para monitor con voltaje de batería
  • La placa admitirá una interfaz analógica capaz de escalar una señal de -5V a 5V de 0 a 1.8V
  • La placa albergará un módulo XBee Pro
  • La placa soportará salidas PWM directas para el control de dispositivos externos
  • La placa no debería proporcionar alimentación para estos dispositivos externos

Selección de Componentes

El BNO055 fue seleccionado para dos de las IMU, principalmente debido a su uso en controladores Pixhawk. LSM9DS1 fue seleccionado como el tercer sensor de redundancia, con una dirección I2C diferente y porque parecía interesante.

La versión 1 es el PCB actualmente acabada en la foto de arriba. La versión 4 es la próxima versión de la placa que actualmente está en fase de estudio.

El BNO055 deja mucho que desear. El ruido eléctrico del resto del sistema causa ruido en el magnetómetro, de modo que en su lugar se usará el BNO080. Es aproximadamente tres veces más preciso gracias a un mejor algoritmo de fusión integrado. Además, proporciona una estimación de cómo de precisos son los datos proporcionados, que es algo muy importante para el filtro GPS/IMU en el que estoy trabajando. También es compatible con sensores de presión barométrica externos.

  • 5.2mm x 3.8mm x 1.1mm
  • Up to 1KHz
  • 2.0msec
  • 3.0° - Dinámico 1.0° - Estatico
  • 0.5°/min
  • ± 2000°/sec

El BHI160 también se usará como segundo IMU. Los sensores son similares en precisión con el BNO080, pero la fusión del sensor resultante no es tan buena. Sin embargo, esta IMU admite un sensor de magnetómetro I2C externo, para lo cual diseñaré una placa soporte y un control remoto lejos de fuentes de ruido eléctrico. Esto me permitirá determinar con precisión el norte magnético. El BMM150 es el magnetómetro externo, admitido como entrada directa en el algoritmo de fusión dentro del BHI160. En realidad, es tan bueno como lo son los sensores, aunque es un BGA, será divertido de reconducir.

El voltaje E/S del XU4 es de 1.8V y por lo tanto, es necesario realizar una conversión de nivel lógico. El TXB0108-PW fue seleccionado por recomendación del OEM. Se eligió un A5100-A de Maestro Wireless Solutions, ya que es un receptor con capacidad GNSS, con soporte de antena activa. Es un módulo todo en uno con mínimos componentes externos.

Esquemas

Figura 1 - Placa soporte del magnetómetro

Figura 2 - Esquema del nivel superior de la placa del sensor, con conexiones a ODROID-XU4, conversión lógica, botón de encendido-apagado e I2C para la conversión I2C diferencial y conector RJ45

Figura 3 - Sensores

Figura 4 - Alimentación

Figura 5 - Interfaz analógica, convierte una señal de 8V a 13.8V y de -5V a 5V a 0V a 1.8V para alimentar el ODROID-XU4

Figura 6 - Controlador LED controlado por I2C que emite señales PWM programables en 16 canales

Figura 7 - Enlace de comunicación en serie del Xbee

Be the first to comment

Leave a Reply