Llegó el momento dedicarse a una tarea que llevaba esquivando durante bastante tiempo. Se trata de reparar el display del ordenador de a bordo de mi coche; un Peugeot 3008 del año 2009.
Es un problema aparentemente bastante común en muchos displays de coche y este mismo problema ya lo sufrí en el coche que tube antes que este, un Peugeot 4007; aunque en aquella ocasión, como tocaba cambiar de coche no llegué a hacer nada por resolverlo.
El problema está en que cuando la temperatura interior del coche aumenta el display empieza a verse bastante mal.
El problema empezó a
manifestarse a los cuatro o cinco años tener el coche. Durante unos años
no era demasiado grave y aún podía entenderse lo que salía en el display. Sin embargo, en los dos últimos años, la degradación a llegado a tal punto que con solo poner la calefacción, con el aumento de temperatura hace que sea imposible entender los mensajes de la pantalla. No hablemos ya cuando el coche se queda aparcado al sol, entonces la pantalla se muestra totalmente negra y no puede apreciarse absolutamente nada.
Así que llegó el momento de ponerse manos a la obra y tratar de solucionar el problema.
Opciones.
La primera opción es llevar el coche al servicio oficial y que le cambien la pantalla. No es mala opción, pero por referencias de conocidos que lo han cambiado es una opción con un coste elevado, así que de momento queda descartada.
La segunda opción es conseguir un display de segunda mano en un desguace. Y sí, fuí tan pardillo como para creerme que un display de segunda mano con la misma longevidad que el mío podría verse bien. Así que ahora tengo dos displays de los cuales ninguno está en buenas condiciones.
La tercera opción es intentar reparar el display. Ya que tengo dos displays al menos puedo intentar reparar uno sin tener que dejar el hueco del coche con los cables a la vista. De momento, voy a decantarme por esta.
Intento de reparación del display.
Al desmontar el módulo para una primera inspección visual esperaba encontrarme con las conexiones de la cinta al cristal lcd en mal estado pero la verdad es que se estaban demasiado bien como para que fuesen el problema.
En esta primera inspección, pude ver también, en la cinta que une el cristal con el circuito electrónico, la referencia "S1D15712". Esta referencia es muy similar a otras más conocidas de circuitos integrados controladores de display.
Buscando por internet comprobé que efectivamente, EPSON fabricaba este circuito integrado y pude conseguir el "datasheet".
Se trata de un chip COF (chip on flex) controlador de display , es decir, un chip que se monta en la misma cinta flexible tal como puede verse en la fotografía. En su interior no solo cuenta con los circuitos de control del display, sino que además dispone de un circuito generador de las distintas tensiones necesarias para el lcd así como de un sensor de temperatura utilizado para compensar las variaciones de temperatura.
No voy a detallar todos los pasos que seguí en el intento de reparación ya que, tras comprobar los componentes externos asociados al generador de tensiones, al sensor de temperatura y algunos otros; la conclusión final fue que el problema estaba en el chip o más probablemente en el mismo cristal lcd.
Y eso fué lo que me llevó a la cuarta opción. Hacer la ingeniería inversa del display y buscar la manera de sustituir el display original por otro.
Activación del display.
Sacar el display del coche y ponerlo sobre una mesa de trabajo supone quedarse sin botones y sin ningún medio de controlarlo. Y llevarse la herramienta e instrumental al coche en pleno verano para intentar reparar el display o más tarde para hacerle la ingeniería inversa no es una opción viable.
Alimentar con 12V el display cuando está en la mesa de trabajo no es suficiente para activarlo ya que es necesario enviarle ciertos datos por el bus CAN para que se encienda y para poder moverse por las distintas funciones.
Creí que iba a tener que dedicarle bastante tiempo a interceptar e interpretar los mensajes del bus CAN, pero tube la suerte de encontrar en Github el trabajo de Péter Pintér.
Péter es un programador húngaro que consiguió conectar el display de su coche a un módulo ESP32 y con el firmware adecuado controlarlo desde el teléfono móvil. Utilizando su proyecto PSAWifiDisplayControl pude poner en marcha mi display sin ni siquiera tener la necesidad de hacer cambios en el firmware.
En la foto puede verse el módulo con los componentes externos necesarios para conectarlo al display del coche. En mi caso utilizo un circuito MCP2545 como transceptor del bus CAN y todo está montado sobre una placa de prototipos y conectado al display mediante cablecillos.
En el esquema pueden verse las conexiones entre el módulo ESP32, los componentes y el conector del display. El módulo ESP32 lo utilicé alimentado desde el bus USB. Los componentes del transceptor CAN se alimentan desde la misma alimentación de 5V tomada del módulo ESP y al display tenemos que aplicarle 12V.
Y solo con esto ya podemos
controlar el display desde nuestro teléfono móvil sin necesidad de tenerlo conectado al coche.
En la segunda parte entraré en detalles sobre cómo fué el proceso de ingeniería inversa para conocer el funcionamiento del display y las posibilidades de devolverlo a la vida.
Referencias.
Si estás interesado en tener más información sobre el trabajo de Péter Pintér para controlar el display del coche desde el teléfono móvil puedes encontrar sus proyectos en su página de Github en la siguiente dirección:
0 comentarios:
Publicar un comentario