Diagnosis de su coche con Raspberry Pi


OBD-II PID ( Diagnóstico a bordo de parámetros IDs ) son códigos utilizados para solicitar datos de un vehículo, que se utiliza como herramienta de diagnóstico  que tradicionalmente se ha reservado a los  técnicos automotrices que usan PID con una herramienta de análisis conectado al conector OBD-II del vehículo.

  • El técnico entra en el PID
  • La herramienta de análisis lo envía al del vehículo red controlador-área (CAN) la parada de microbus, VPW, PWM, ISO, KWP . (Después de 2008, sólo CAN)
  • Un dispositivo en el bus reconoce el PID como uno es responsable de, y reporta el valor para ese PID al bus
  • La herramienta de análisis lee la respuesta, y lo muestra al técnico

Un  adaptador   OBD-II  funciona  en cierta manera  como el USB de un ratón que usamos con el ordenador, ya que se conecta a la centralita del coche y convierte los datos que lee en información que podemos procesar desde nuestro móvil.

Estos adaptadores se puede encontrar  fácilmente en internet y a precios que empiezan en los 6 euros y van subiendo hasta los varios cientos, dependiendo de la calidad y cantidad de opciones que necesitemos. Pero para un uso completamente ‘amateur‘, tenemos suficiente con los más económicos. Eso sí, antes de comprarlo debe   compruebe que la centralita de su coche tiene la conexión de 16 pines del estándar y es compatible  con dicho  interfaz.

 

 

Adaptadores ODB2 bluetooth

elm37

Algunas centralitas de vehículos puede soportar más o menos funciones que otros.,pero en todo caso  no olvide  que la aplicación necesita un adaptador Bluetooth OBD2 para trabajar.

Estos  adaptadores  son  pequeños y se conectan a la toma de diagnóstico en el coche que le da a su acceso a los teléfonos.Uno de los adaptadores mas usados  es el modelo el ELM327 OBD2 el cual funciona igual de bien que otros aparatos similares de tamaño mucho mayor y   aún precio bastante menor (como por ejemplo el  adaptador Scantool.net, el adaptador de OBDKey y PLX Kiwi ).

El modelo ELM 327  es el clásico lector de parámetros del motor y de códigos de error OBD II mini, en carcasa de plástico transparente  de  reducido tamaño(otros modelos mayores  estorban en la zona de los pedales)   que es capaz de enviar los datos vía Bluetooth   y que se puede adquirir  a muy buen precio.

Para usarlo, hay que enchufar el dispositivo  al conector que suelen traer casi todos los coches modernos  junto a la fusiblera principal que suele estar  debajo del volante.

Después hay que instalar  la aplicación  Torque en su smartphone   ( en su versión gratuita o de pago )  y automáticamente al ejecutarla  debería empezar a ver en la app  una cantidad ingente  de información sobre el funcionamiento de su vehículo.

Los usuarios  se abruman   del  impresionante volumen de datos aportado pues aplicación es 100% configurable para mostrar los parámetros que prefiera. De hecho los datos ofrecidos son prácticamente similares a una maquina de diagnosis de cualquier taller en sus manos, aportando ademas de un sinfin de parámetros informativos sobre el estado de motor, consumos, temperaturas, posibles averías etc

Resumidamente  estas son algunas de las utilidades  de la combinación  del adaptador  ELM327 OBD2 junto con el programa  Torque:

  • Leer los códigos diagnóstico, genéricos y específicos del fabricante, y mostrar su significado (sobre 3000 definiciones genéricas del código en la base de datos).
  • Borrar los códigos de problemas y apagar el MIL (“Check Engine” de luz)
  • Mostrar los datos actuales del sensor

Según el modelo de coche podrá ver más o menos datos, pues eso no depende de este aparato  en su .De hecho ,hay usuarios que no han conseguido hacerlos funcionar con determinados modelos de vehículos, pero en cambio en otros modelos  funciona perfectamente:

 

Por cierto ,esta versión  del  ELM327  se puede comprar por menos de 6€  con gastos de envió incluidos  aqui (Amazon.es)

Adaptadores ODB2 USB

Hay muchos ejemplos de entusiastas que  están usando estos adaptadores ODB2 no solo desde dispositivos Android sino incluso desde PC standard ,pero ¿ y si se pudiera usar desde otros dispositivos  como por ejemplo desde una Raspbery Pi?

Pues en  efecto desde pistonheads.com  nos demuestra como es posible desde una RPi de  leer datos de su moto a través de un lector USB OBD-II  usando  como registrador de datos para una moto gracias  a que cabe perfectamente  debajo del asiento

Para ello , se usa un   cable USB -> OBD2 , el cual  soporta muchas versiones diferentes del puerto estándar OBD2

La RPi toma la  alimentación  una conexión micro del USB que se alimenta a su vez  de la batería (lo ideal es desde luego hacerlo desde  la llave de encendido / apagado, pero esto llevar mucho más trabajo y se corre el peligro de  dañar el cableado de la moto) así que el usuario opto  por compro un interruptor y un fusible  que  termina en un puerto USB hembra lo cual permite  apagar la RPpi al final de un viaje

Lo siguiente es  el código, basado en  la  librería python  desarrolla en 2009 llamado pyobd. Esta fue  la  base para lo que quería hacer, encontrando algunos errores en el código pues , en general, estaba escrito para ser utilizado por una aplicación  grafica GUI que venía con ella. Como el autor no quería una aplicación GUI, obviamente, bajo su asiento se bajo su repositorio y comenzó a trabajar en hacerlo más parecido a un datalogger

El trabajo esta en su  repositorio : https://github.com/roflson/pyobd

 

Gracias al trabajo excelente de Salgar , Martin quiso ir mas lejos  conectando ademas una cámara ,    utilizando  los datos OBD para superponer mph, rpm, temperatura y la posición del acelerador sobre el vídeo tomado con la placa de la cámara construyendo realmente un dispositivo bastante interesante

Resumidamente  el  proceso de desarrollo de  la nueva herramienta fue muy similar a la anterior adaptación de Salgar , basándose también en un  adaptador  USB al cable de interfaz de OBD2 del tipo ELM 327 1.5V USB CAN-BUS Scanner ELM327 , por cerca de £ 10 disponibles en  amazon.com o amazon.co.uk .( en España un no esta )

Otro elemento importante es conectar la cámara a su Raspberry Pi 2 usando el conector propietario especifico

Un modelo asequible compatible con la Raspberry Pi2   es el Módulo de cámara Raspberry Pi de SainSmart  que cuesta unos 14€ 

 

Luego  una vez adquirido el hardware , descargo el  software de salgar de su repositorio github, https://github.com/roflson/pyobd , como base para el nuevo programa (el software de salgar es una bifurcación de un proyecto llamado pyobd, https://github.com/peterh/pyobd , que es una aplicación basada en GUI para leer datos OBD-II).

Utilizo el autor  este  nuevo software  como base para un programa que se conectaría a través de la interfaz OBD-II, interrogando al coche qué sensores soportaba y luego leyendo los sensores de datos en un bucle cada 0,5 segundos  escribiéndolos en la pantalla de modo que la RP2 no solo registra el video , también registra  los  datos dinámicos superponiendolos al video cumpliendo pues una doble función

Descargar y ejecutar

El autor   finalmente  ha puesto a la disposición de todos los usuarios su  sw  de modo que puede descargar el código directamente desde github  en ,https://github.com/martinohanlon/pyobd ,

 

Resumidamente estas son las instrucciones de instalación:

 

Si le «pica»la curiosidad en el vídeo podemos ver la Rp2 con el sw en acción

Construya su propia Fuente de alimentacion avanzada


Cuando se comienza a realizar proyectos de electrónica o robótica, en seguido nos damos  cuenta de inmediato que hay ciertas herramientas que no pueden faltar en nuestra  mesa de trabajo o en tu taller. Una de estas, es una fuente de alimentación. 

Existen varias formas de obtener voltaje para alimentar nuestros circuitos, por ejemplo ,con baterías recargables, cargadores (por ejemplo para teléfonos móviles   u otro aparato doméstico),fuentes basadas en reguladores discretos ,fuentes de laboratorio,etc.

Las baterías son costosas ,pesadas , poco duraderas , poco ecológicas por lo que  no deberíamos tomarlas  en cuenta para realizar proyectos. En cambio, tener una fuente de alimentación variable  que nos proporcione corrientes más altas y voltajes programables cierto rango, es algo muy práctico para que podamos alimentar todos los circuitos y prototipos que hagamos.

No hace mucho tiempo , todo el mundo que necesitaba un fuente «profesional» se lanzaba a auto-fabricarselas, dado que desafortunadamente no es un equipo que este al alcance de mucha gente

Afortunadamente los tiempos cambian y hoy es posible construirse una fuente  digital programable avanzada  en  unos sencillos pasos sin gastarse una fortuna y con la certeza de siempre funcionara, hecho que no siempre ocurre con las fuentes auto-construidas.

 

 

En la propuesta  de una fuente avanzada digital avanzada  con display a color  que vamos a proponer ,  por extraño  que parezca ,casi  no se requiere soldar nada  pues este montaje  se centra  en un  modulo compacto programable KKmon , que puede comprarse  por unos 25€ en Amazon    (o un precio similar en algunos portales chinos )  , y  constituye en su mismo  una fuente de alimentación  compacta  programable , gracias a una combinación de ajustes analógicos y funciones de control digital en un único dispositivo ya montado.

Este modulo por si mismo  es una fuente en si como vemos , pero para ofrecer un precio competitivo no incluye caja ,bornes  y sobre todo una parte importante como  es otra fuente fija  que proporcione  la tensión continua  de entrada.

Respecto a la fuente auxuliar, esta puede ser une fuente reciclada  de cualquier  otro dispositivo  como por ejemplo un cargador de un ordenador portátil ( u otro dispositivo electronico )  o simpplemente  cualquier transformador  entre  20-45v  con su correspondiente puente de diodos  que tengamos en  nuestro cajón   : la única condición es  que debe dar una salida  rectificada  y esta debe ser 1Voltio mayor que la máxima tensión que se requiera ,no superando en ningún caso  los 49V 

 

El esquema del montaje propuesto   es el siguiente;

fuentenueva.png

 

Como vemos tan solo necesitamos conectar la salida de   nuestra fuente auxiliar  AC/DC     a la entrada del modulo  KKmon  ,y su salida a unas bornas (rojo para el positivo  y negro para la masa)

El circuito ademas se completa con un interruptor que se intercala en los cables de Ac  y un led verde que con su correspondiente resistencia imitadora , el cual conectaremos a la salida de la fuente auxiliar

 

El modulo de control

 

El módulo KKmon  ,  tiene  un rango de Voltaje de salida es de 0 – 50.00 V, 0,01 V con  corriente de salida ajustable hasta 3.000 Amp en pasos de 0.001 a.

Incluye  función de auto apagado cuando se supera un umbral preestablecido y que puede almacenarse hasta en 10 grupos de valores de preset  y dos grupos valores rápidos.

Asimismo en la interfaz de los datos de ajuste, usted puede ajustar el valores  como  sobretensión, sobre-corriente, etc

modulo

 

Obviamente no nos podíamos olvidar  de la pantalla LCD  a color (cuyo  brillo es ajustable ),la cual  tiene la función de voltímetro , amperímetro y watimetro en este modelo  sobre el que ademas se pueden ver los valore de  preset de Voltaje, Corriente, Voltaje de salida, corriente de salida preestablecido,  potencia de salida , voltaje de entrada, etc.

Este módulo incluye ademas un ventilador de gran potencia de salida inteligente , que cuenta con  rodamiento de bolas  que se inicia automáticamente cuando la corriente de salida es más de 0,5 Amp,  con el fin  disipar el calor generado.Este modulo por cierto es enchufable  pudiendo desconectarse por si no se necesitase o simplemente  para  extraerlo   

IMG_20130301_010133[1].jpg

Como comentábamos al  principio de este post ,esta fuente necesita una tensión continua cuyo  valor de entrada puede estar comprendida entre   6  y  55 V , lo que significa que   55 V es el límite Voltaje  que no debe superare( de lo contrario, podría  quemarse) .Ademas esta  fuente como regla general deberá alimentarse  con una tensión  continua que debe ser 1V  la salida máxima  deseada

Este módulo tiene salida de protección contra cortocircuitos y protección de conexión inversa, aunque usted debe ser en estricta conformidad con conexión Descripción para conectar. Si conecta la fuente de alimentación con salida, el módulo será quemada.

Este modulo es configurable   gracias a su cuatro pulsadores y un botón giratorio  de control cuyas funciones son las siguientes:

  • Boton central : Ajuste de datos valor/extracto de la especificada Grupo de datos/store valor en el grupo de datos.u-set: Preajuste Voltaje de Salida
    i-set predefinidos: corriente de salida
    s-ovp: presente sobre-voltaje
    s-ocp: sobre-corriente actual
    s-opp: presente over-power
    B-LED: presente brillo de la pantalla
    m-pre: datos de regalo
  • M1; extracto de acceso directo:M1 los datos almacenados/página hasta a elegir/combinaciones de store.
  • M2; extracto de acceso directo: M2 datos almacenados/página abajo para elegir/combinaciones de tienda
  • On/Off: salida de abrir o cerrar.

 

Parámetros técnicos:

  • Rango de Voltaje de Entrada: 6 – 55 V
  • Voltaje de Salida gama: 0 – 50 V
  • Corriente de Salida: 0 – 2 A
  • Rango de Potencia de salida: 0 – 100 W
  • Dimensión: 79 mm * 43 mm * 48 mm (L * W * H)
  • Tamaño abierto: 71 mm * 39 mm
  • Voltaje de Salida precisión: ± (0.5% + 1 dígitos)
  • Corriente de Salida precisión: ± (0.5% + 2 dígitos)

 

 

Nota: en realidad    ya hay muchas variaciones comerciales  de estos modulos ,  los cuales  basicamente disponen de la misma logica   de control   y pantalla , pero con  diferencias potencias de salida:

 

Tipo del modelo: DPS3003

  • Voltaje de entrada: DC6-40V (DPS3003 / DPS3005);
  • Voltaje de salida: 0-32.00V (DPS3003 / DPS3005);
  • Corriente de salida: 0-3.000A (DPS3003);
  • Potencia de salida: 0-96W (DPS3003);

 

 

 

Tipo del modelo: DPS3005

  • Voltaje de entrada: DC6-40V (DPS3003 / DPS3005);
  • Voltaje de salida: 0-32.00V (DPS3003 / DPS3005);
  • Corriente de salida: 0-3.000A (DPS3003);
  • Potencia de salida: ; 0-160W (DPS3005);

 

 

Tipo del modelo:  DPS5005 (opcional)

  • Voltaje de entrada:  DC6-55V (DPS5005)
  • Voltaje de salida:  0-50.00V (DPS5005)
  • Corriente de salida:  0-5.000A (DPS3005 / DPS5005)
  • Potencia de salida:  0-250W (DPS5005)

 

 

El montaje de esta fuente  es en realidad   un proceso bastante sencillo una vez que se tengan todos los elementos descritos,

  • El modulo KKmon
  • Fuente auxiliar AC/DC de 20-40V  /2 amp
  • 2 Bornas
  • 1 led
  • 1 resistencia limita dora para el led
  • 1 Interruptor roscado de  1amp/220V
  • 1 Caja de plástico

Los pasos a seguir para montar la fuente son en realidad muy pocos. Como orientación resumimos los mas importantes a continuación:

  1. Fijaremos  en primer lugar la fuente auxiliar a la caja  usando por ejemplo una pistola de cola térmica

IMG_20130301_010219[1].jpg

2-Conectamos la salida de la fuente auxiliar al modulo Drok  NC    respetando escrupulosamente la polaridad. También igualmente conectaremos dos cables (rojo y negro ) para la salida .

IMG_20130301_010205[1].jpg

3-Los dos cables de salida los conectaremos a dos sendas bornas  Rojo y Negro que fijaremos al panel posterior practicando dos orificios en el

4-Practicamos asimismo   dos orificios para el interruptor , el led y el l modulo Drok  NC

 

IMG_20130301_010233[1].jpg

5-Soldaremos dos cables al interruptor de encendido lo cuales iran; directaemnte a un polo del enchufe y el otro a la entrada de AC de la Fuente auxiliar

 

img_20130301_0106371

6-Ya podemos fijar todos los elementos (led, el modulo Drok  NC  , el interruptor  y los bornes )    sobre el panel  en el frontal de este

 

img_20130301_0108511IMG_20130301_012057[1].jpg

 

7-Solo nos queda aplicar cola térmica a los elementos que puedan moverse ( l modulo Drok  NC , las bornas , el led  y el cable de red)    y colocando la tapa  abremos terminado nuestro montaje:

 

IMG_20130301_014902[1].jpg

 

 

 

NOTA :En este post hemos usado el l modulo Drok  NC ,pero  existen otros módulos muy semejantes al Drok  pero con tensiones o intensidades máximas menores

He aqui una tabla con algunos de  sus  característicos mas importantes:

ít
dp20v2a
dp30v3a
dp50v2a
dp50v5a
DPS3003
DPS3005
DPS5005
DPS3012
DPS5015
ID del Producto
993188
1050062
1050061
1062475
1062474
1062473
1065235
1072236
voltaje de entrada
4.5-23v
6-35v
6-55v
6-55v
6-40v
6-40v
6-55v
6-40v
6-60v
tensión de salida
0-20.0v
0-32.0v
0-50.00v
0-50.00v
0.00-32.00v
0.00-32.00v
0.00-50.00v
0.00-32.00v
0.00-50.00v
corriente de salida
0-2.00a
0-3.10a
0-2.000a
0-5.000a
0-3.000a
0-5.000a
0-5.000a
0-12.00a
0-15.00a
potencia de salida
0-40w
0-99w
0-100w
0-250w
0-96w
0-160w
0-250w
0-384w
0-750w
resolución de voltaje
0.1v
0.1v
0.01v
0.01v
0.01v
0.01v
0.01v
0.01v
0.01v
resolución actual
 0.01a
 0.01a
0.001a
0.001a
0.001a
0.001a
0.001a
 0.01a
 0.01a
tamaño del producto
79 * 34 * 26mm
79 * 34 * 26mm
79*34*48

mm

79*34*48

mm

79*43*41

mm

79*43*48

mm

79*43*48

mm

79 * 43 * 48 mm (pantalla)

93 * 71 * 41mm

(poder)

79 * 43 * 48 mm (pantalla)

93 * 71 * 41mm

(poder)

pantalla
LCD
LCD
LCD en color
LCD en color
LCD en color
LCD en color
LCD en color
LCD en color
LCD en color
abanico
no (no es necesario)
YES
YES
no (no es necesario)
no (no es necesario)
no (no es necesario)
no (no es necesario)
YES
YES
Carga la batería
NO
NO
NO
sí (pero necesita un diodo)
Sí (pero necesita un diodo, será con el módulo)
YES