viernes, 26 de noviembre de 2010

Diagramas del controlador LCD

Sobre el control que realizaré voy especular un poco, ya que se puede llegar a complicar bastante. El modelo más sencillo sería este:
Diagrama Control 1
Con este control simplemente haríamos de puente entre la información del bus CAN y el display, teniendo que programar en el microcontrolador los parámetros que queremos mostrar. Como querría poder interactuar con este display para poder ir cambiando el texto e implementar el botón de INFO necesitaré conectarle unos pulsadores:
Diagrama Control 2
Este sería el primer diseño a realizar para poder evolucionarlo más adelante. Para tener el control sobre el bus CAN tengo varias opciones:
  1. Usar un microcontrolador para controlar el LCD y el ELM327 para gestionar el bus comunicándome con él por el puerto serie del micro. Una solución algo costosa ya que el chip de ELM vale 19$ y además con un software cerrado.
  2. Usar un microcontrolador con un periférico de CAN y controlar el LCD con ese mismo micro. Tendría que usar las librerías software de gestión del bus por lo que sería algo más complicado.
  3. Usar un interfaz de CAN como el MCP2515. Me permitiría tener una solución hardware par la gestión del bus, y las funciones de enmascarar mensajes y de filtrado que hace este chip pueden ser muy útiles. Una opción muy probable a usar, ya que no dependo de ninguna librería software ni software propietario de terceros.
  4. Usar algún módulo de microcontrolador con un añadido hardware para gestion del bus CAN, como es el proyecto ARCAN sobre la plataforma Arduino o este otro shield Arduino de SKPang. Soluciones de rápida implementación ya que todo el hardware y las librerías software está resuelto, pero al ser una solución de terceros y a tenerlo todo masticado no tendría mérito realizar el control, solo programaría el Arduino. A mi me gusta cacharrear más, aunque no descarto esta opción si me doy por vencido con el hardware.
La evolución de este control viene cuando este primer escalón esté implementado, entonces será hora de ir pensando en una conexión con el futuro PC para solventar ciertos problemas. Primero es que el volante creo que está conectado directamente a la radio a través de un bus LIN, a la venta hay adaptadores para diferentes marcas de equipos de audio, por lo que habría que añadir esta conexión para recuperar estos controles. Segundo es que estos controles tendrían que actuar sobre el software del PC, emulando un teclado o mediante algún chip de periférico USB, o si el propio micro tiene puerto USB también. Elegiré la opción que no me implique crear un driver de teclado en el PC o modificar en exceso la aplicación del PC para aceptar estos comandos.
También existe la vía inversa de modo que mediante una aplicación en el PC pueda enviar mensajes al bus CAN, aunque creo que los softwares de carPC ya tienen conexión con el OBD para mostrar datos en pantalla, así que es posible que reutilice el cable OBD para ello si es posible, estaría bien que tuvieras un botón en pantalla para cerrar las puertas, o subir ventanillas, o incluso controlar el climatizador. O que la aplicación reaccionase a situaciones del coche como que cambie el skin a uno nocturno al encender las luces, o que muestre la cámara trasera al conectar la marcha atrás.
Otra tarea del circuito controlador podría ser la de gestionar la iluminación, ya que el coche posee una regulación de la iluminación del cuadro de mandos y de la radio. Esta regulación no se si se realiza mediante una tensión en algún punto o través de mensajes de CAN, pero contemplaré que el circuito sea capaz de gestionarla y actuar sobre la retroiluminación del LCD o de la pantalla TFT, si fuera necesario.
Así que con toda esta cantidad de conexiones y posibilidades podría legar a tener un controlador tal que así:

Diagrama control full equip
    Así que el proyecto puede crecer mucho, es cuestión de las ganas que le ponga y sobretodo si implica una mejora sustancial en la usabilidad del sistema, ya veremos hasta donde llego.

    No hay comentarios:

    Publicar un comentario en la entrada