Tabla de contenido:

Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus: 8 pasos
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus: 8 pasos

Video: Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus: 8 pasos

Video: Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus: 8 pasos
Video: CAN bus Automotriz - Hackeo ético aprende a hacerlo, by Smart Tools mx 2024, Mes de julio
Anonim
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus
Tacómetro / medidor de escaneo usando Arduino, OBD2 y CAN Bus

¡Cualquier propietario de Toyota Prius (u otro vehículo híbrido / especial) sabrá que a sus tableros les pueden faltar algunos diales! Mi prius no tiene RPM del motor ni indicador de temperatura. Si le gusta el rendimiento, es posible que desee saber cosas como el avance del tiempo y los datos de combustible en tiempo real. Si es un hipermiler, es posible que desee obtener más información sobre su economía de combustible.

Todos estos valores son calculados por la computadora del motor de su automóvil. Simplemente se necesita una herramienta de escaneo para leer los datos. Muchos propietarios de automóviles curiosos recurren a soluciones comerciales como un Scan Gauge. También pueden usar una herramienta de escaneo que use ELM327 a través de USB o Bluetooth. Los contendientes populares son Carista, BlueDriver o una herramienta de escaneo de diagnóstico normal de Innova / Bosch.

Quería tener una instalación permanente en mi vehículo con hardware dedicado, ¡así que decidí seguir mi propio camino! Estoy emocionado de compartir el diseño de mi herramienta de escaneo personalizada.

Suministros:

Importante -

  • Placa Arduino (puede usar Nano, Teensy, Pro Micro, Uno….) [Amazon]
  • Toque de fusible + fusible adicional (asegúrese de tener el tamaño correcto) [tienda de repuestos para automóviles]
  • Conector OBD II (rescaté uno de una herramienta de escaneo antigua) [Amazon]
  • Módulo CAN Bus MCP2515 [Amazon]
  • Pantalla OLED (u otra pantalla de su elección) [Amazon]
  • Convertidor reductor (u otro regulador de voltaje de conmutación / lineal) [Amazon]
  • Cable de 4 conductores para su pantalla (use un cable USB antiguo, un cable plano, etc.)
  • Un montón de cables de puente para conectar todo

Instrumentos -

  • Voltímetro
  • Equipo de soldadura
  • Pelacables

Servicial -

  • Impresora 3D (o acceso a una) para crear las siguientes piezas:

    • Caja para arduino
    • Montaje en panel / marco de pantalla
  • Sujetadores para cerramiento
  • Adhesivo

Paso 1: Acerca del bus CAN (y exención de responsabilidad)

Acerca del bus CAN (y descargo de responsabilidad)
Acerca del bus CAN (y descargo de responsabilidad)
Acerca del bus CAN (y descargo de responsabilidad)
Acerca del bus CAN (y descargo de responsabilidad)
Acerca del bus CAN (y descargo de responsabilidad)
Acerca del bus CAN (y descargo de responsabilidad)
Acerca del bus CAN (y descargo de responsabilidad)
Acerca del bus CAN (y descargo de responsabilidad)

USTED ESTÁ ABRIENDO UNA SERIA LATA DE GUSANOS AQUÍ … ¡Jugar con su vehículo / autobús puede causar daños y / o funcionamiento involuntario de su vehículo! Le proporciono este código e instrucciones sin garantía ni garantía. Asumes todo el riesgo. ¡Pruebe esto mientras el vehículo esté ESTACIONADO PRIMERO! Este proyecto es bastante seguro si simplemente investiga un poco sobre lo que está haciendo. Si no sabe lo que significa alguna parte de las instrucciones o el código, probablemente sea una señal de que no debería estar jugando con el sistema eléctrico de su automóvil. No aceptes este proyecto. Compre un dongle OBD bluetooth prefabricado y utilícelo en su lugar. Les deseo buena suerte.

Ahora que la exención de responsabilidad está fuera del camino … ¿PUEDE sonar familiar? Tal vez similar a LAN (Ethernet) o WLAN (WiFi) que puede tener en casa … eso es porque todas son redes. CAN son las siglas de Controller Area Network. Es una plataforma de comunicaciones digitales que su automóvil usa para hablar consigo mismo. En lugar de pasar cables desde la computadora del motor a cada sensor, luz y dispositivo en su automóvil, todos se controlan digitalmente a través de la red.

El bus CAN es un protocolo de comunicación diferencial. ¡Eso significa que solo necesita dos cables! No hay Tx / Rx como puede encontrar en las comunicaciones en serie tradicionales, y no hay transmisión directa entre dos dispositivos. Por lo general, se encuentra como un par trenzado en todo su vehículo. Accederá a él a través del puerto OBD. No es necesario que comprenda cómo funciona este protocolo en el nivel fundamental, pero debe comprenderlo lo suficiente para poder escribir o modificar el código Arduino.

Si desea seguir este proyecto, asegúrese de que su vehículo tenga un bus CAN. Casi todos los vehículos que circulan en la actualidad tienen un puerto OBD II. Todos tienen el mismo conector eléctrico debajo del tablero. Sin embargo, existen protocolos de comunicación muy diferentes según el fabricante de su automóvil. Cualquier vehículo vendido en los Estados Unidos después de 2008 utiliza el bus CAN ISO 15765. Eso es lo que queremos usar para este proyecto. Verifique que su vehículo tenga un bus CAN. Tenga en cuenta que cada automóvil es único. Tendrá una velocidad de bus CAN específica, ciertos códigos OBD que debe solicitar y diversas peculiaridades que debe mitigar en el camino.

Paso 2: diagrama de cableado

Diagrama de cableado
Diagrama de cableado

Ahora es el momento de comenzar a planificar su gabinete e instalación. Mi auto tiene una caja de fusibles en el capó y otra justo debajo del tablero. ¿Donde esta el tuyo? Es hora de empezar a pensar.

Usé un fusible en el circuito del limpiaparabrisas ya que mi Prius tiene muchos circuitos fusionados justo al lado del puerto OBD. Puede usar el Vbatt en el puerto OBD, ¡pero tenga cuidado! Eso está conectado a la batería, por lo que el dispositivo nunca se apagará. Mala idea. Dependiendo del consumo actual del Arduino, ¡puede agotar su batería en cuestión de días o semanas si deja que su automóvil se asiente! Si está utilizando una pantalla OLED, puede experimentar un desgaste excesivo si su dispositivo está encendido todo el tiempo. Es muy importante que el dispositivo esté encendido.

¡Puede tener una solución fácil! Es posible que tenga un vehículo con un pin de alimentación ACC / encendido en el puerto OBD. Muchos pines son específicos del fabricante. Eso significa que su puerto OBD puede tener un pin de alimentación que se cambia a encendido. Sin embargo, ¡no pruebe el multímetro y conecte su arduino a cualquier cosa con 12 voltios! Su vehículo puede tener un J1699 u otro bus serial que use un nivel lógico de 12v. ¡Quién sabe lo que haría un sorteo actual! Verifique con el osciloscopio para asegurarse de que su "fuente de 12 voltios" sea una fuente de alimentación de CC constante, no una señal, antes de conectar la alimentación del arduino a cualquier otro pin además de la batería en el puerto OBD.

Paso 3: Cableado del puerto OBD a la placa CAN

Cableado del puerto OBD a la placa CAN
Cableado del puerto OBD a la placa CAN
Cableado del puerto OBD a la placa CAN
Cableado del puerto OBD a la placa CAN

Busque en el pinout de su puerto OBD para CAN Low y CAN High. Conecte esos cables a High y Low en su tablero.

¡Ahora use el suelo de su puerto OBD como su suelo para este proyecto! Conecte todos los cables de tierra juntos y asegúrese de que estén conectados a tierra a este puerto OBD.

Nos centraremos en el resto de la interfaz SPI de la placa CAN en unos pocos pasos.

Paso 4: fusible Tap y convertidor de CC a CC

Derivador de fusible y convertidor de CC a CC
Derivador de fusible y convertidor de CC a CC
Derivador de fusible y convertidor de CC a CC
Derivador de fusible y convertidor de CC a CC
Derivador de fusible y convertidor de CC a CC
Derivador de fusible y convertidor de CC a CC
Derivador de fusible y convertidor de CC a CC
Derivador de fusible y convertidor de CC a CC

¡No se salte el convertidor reductor de CC! Accidentalmente destruí este proyecto una vez porque decidí ejecutar el Arduino con 12 voltios de la caja de fusibles. Creo que hubo un pico de voltaje de un inductor en alguna parte (Arduino estaba enganchado al mismo fusible que el motor del limpiaparabrisas) y frió mi Nano.

Recomendado: