Car PC BMW oDrive

Llevo casi un año trabajando en este proyecto y ahora tengo la suficiente confianza como para presentarlo al público: la todopoderosa solución suplementaria iDrive para todas aquellas personas que no tienen interés en instalar una solución de 1500 €.

El proyecto consta de lo siguiente:

  • Odroid N2 4GB con 32GB eMMC y Android como PC para el coche
  • Pantalla Odroid VU7a+
  • Carcasa de la pantalla ensamblada se instala reemplazando la pequeña guantera en el salpicadero (consulta: https://www.ebay.de/itm/Monitorhalter-f ... 1438.l2649)
  • Controlador iDrive de 7 botones (renovación)
  • Conjunto de consola central correspondiente para el controlador iDrive
  • Placa de comandos y control personalizado con: Arduino Nano 33 IoT, Módulo Bluetooth RN42HID, interfaz CAN MCP2515 + TJA1050, sensor de voltaje INA219, 2 encabezados pwm para ventiladores (Ver: https://github.com/Neuroquila-n8fall/od ... rpc-nano33)
  • Punto de acceso 4G automotriz Teltonika RUT850
  • Módulo de fuente de alimentación LTC3780
  • Unos cables para conectarlo todo
  • Unos cuantos retoques

Figura 1 - Pantalla VU7a+ instalada en el salpicadero que ejecuta la aplicación Torque

Ten en cuenta que el cabezal del pin en el lado del botón de encendido (lado izquierdo). Lo he soldado para tener una conexión adecuada para activar el botón de encendido de forma remota.

Figura 2 - VU7a+ montado dentro de la carcasa

En el corazón del proyecto es el Odroid N2. Se parece al ordenador que puedes encontrar en los sistemas iDrive. Sin embargo, no hace mucho ya que se enciende o se apaga y cualquier cambio en el estado de alimentación significaría presionar un botón de algún tipo. Funciona por sí solo, pero para obtener una solución integrada, el N2 debe encenderse o apagarse según el estado actual del coche y a "demanda de los conductores". Además, no tiene conectividad 4G integrada, lo que lo hace, a primera vista, inútil como sistema de información y entretenimiento con servicios de navegación y transmisión.

Puesto que las condiciones dentro de un automóvil son un tanto complicadas, tiene que ser alimentado por una fuente de alimentación que no solo proporcione suficiente potencia, sino que también tenga una cierta tolerancia a las altas temperaturas. En este aspecto, estoy muy sorprendido de que el N2 funcione bien en estas condiciones.

Arrancar y apagar con el coche

Podríamos activar la energía verificando los componentes que se conectarán si se abre el coche o se activa el encendido. Esto significaría que tan pronto como arranquemos el motor, la PC se iniciará. Esto funcionaría, pero no es lo mismo que un sistema iDrive original. Arranca muy rápido y simplemente no podemos alcanzar estas velocidades si queremos mantener el sistema Android como está.

Así que decidí piratear el bus CAN del automóvil y verificar si puedo recibir algún mensaje que indique cuál es el estado actual del automóvil y qué esperar de ello. De esta manera podríamos iniciar el N2 tan pronto como presionemos el botón "abrir" o "cerrar" en el mando. Con el tiempo que te lleva llegar hasta el automóvil, el N2 tiene suficiente para arrancar y tan pronto como nos metamos en el coche, estará listo para hacer su trabajo.

También he experimentado con la posibilidad de tener la PC siempre encendido y ponerlo en suspensión o apagarlo si la batería baja demasiado. En pocas palabras, no llego a funcionar al final porque cambié a un MCU Due y no logré hacerlo funcionar con la correspondiente red divisoria de voltaje para monitorizar la batería. El código aún existe, así que ahora que tengo todos los servicios correctos en su lugar, podría reactivar todo el mecanismo.

Brillo de la pantalla

Un problema cuando conducimos un choche es que las condiciones de luz cambian continuamente. Esto hace que sea difícil leer una pantalla y esa es la razón por la que ahora empezamos a ver grandes pantallas en los coches actualmente Están reemplazando el salpicadero casi por completo. Estas pantallas deben ser resistentes al deslumbramiento, muy brillantes y robustas. Sin embargo, la cosa no termina ahí. La pantalla debe adaptarse a los niveles reales de luz exterior para que sea legible a la luz del sol y no te deslumbre por la noche.

Por lo general, dependeríamos de un fotodiodo para medir los niveles de luz y reaccionar ante ellos, pero en este caso, dado que ya estamos en el bus CAN del automóvil, podemos usar el sensor de nivel de luz del parabrisas. Se trata de un módulo instalado en un extremo del espejo retrovisor llamado "RLS" (Regen-Licht-Sensor = Rain-Light-Sensor). Informa de los niveles de luz actuales a intervalos y cuando cambian. Podemos usar esto para alimentar una señal PWM al regulador de luz de fondo VU7a (+) tal y como se describe en el Wiki (https://bit.ly/2UAzK1z).

Placa de comandos y control

El módulo "Comando y control" es la interfaz entre el automóvil y el N2. Se cierra la brecha entre el sistema Android y la red CAN-bus Cars y se encarga de todas las tareas que de otro modo significaría personalizar el sistema Android o escribir aplicaciones. La primera iteración de la placa de control fue una mezcla de un módulo Bluetooth Arduino Due suelto y un módulo de interfaz CAN MCP2515. ¡Que desastre!

Figura 3 - Esta es la primera interacción. Realmente es un completo desastre, pero de alguna manera necesitaba una plataforma de evaluación.

Figura 4 - Un año después, todo llega a su fin

El código fuente y los detalles se pueden encontrar en el repositorio de Github: https://bit.ly/2QMx7bR. Subiré más fotos de toda la configuración en el foro más tarde, cuando finalmente pueda cambiar el desorden de cables en la placa integrada. Para obtener más información, visite la publicación original en https://forum.odroid.com/viewtopic.php?f=182&t=37944.

Be the first to comment

Leave a Reply