Go Down

Topic: Leer señales LINBUS de volante multifuncion (Read 5316 times) previous topic - next topic

indiocochino

Hola a todos,
estoy intentando conectar un volante multifunción (VW Scirocco) con mi Arduino MEGA 2560.
Al principio me centré en temas de CANBUS pero acabo de descubrir que el volante se comunica por LINBUS que es un sistema mucho más simple.
Sabéis si se puede leer directamente (pero sin necesidad de Shield) la información que se mueve por el protocolo LINBUS del circuito del volante? De no ser así, con el CANBUS Shield se podría?

Os dejo un link para aquellos que quieran más información sobre estos sistemas:
http://www.youtube.com/watch?v=M1VI9wITmA4

Gracias,

Claudio.

maxid

El que pregunta aprende, el que responde aprende a responder.

indiocochino

Muchas gracias por la info!

Ya tengo el chip pero es diminuto...y la verdad es que no se muy bien cómo meterle el cableado necesario.
Soy un poco newbie en electrónica pero supongo que habrá que montar el chip en alguna placa y de la misma sacar el cableado al LINBUS y demás conexiones necesarias.

He estado buscan por internet y no encuentro nada de como hacerlo ni el tipo de placa que necesito(solo como montar chips en consolas... :smiley-roll-blue:)

¿Alguien me puede echar un cable?

Muchas gracias de antemano!

maxid

No se que encapulsado es pero lo puedes armar con eagle. Y lo puedes pasar a un PCN con el método de la plancha.
El que pregunta aprende, el que responde aprende a responder.

indiocochino

¿No existiría algún tipo de zócalo para este tipo de chip para poder montarlo en una proto shield?
Aqui están los datos del chip:https://docs.google.com/file/d/0B7YrXEsQWf4FdnU1aVQ1blliWm8/edit

Lo de crear una PCB por el método del planchado no sé si será exagerado puesto que sólo quiero montar éste chip y sacar el conexionado a mi Arduino. Además no sé si sería capaz de encontrar brocas para patillas de 0,25mm.

¿Lo podría encargar en alguna tienda? Soy de Madrid.

Gracias de nuevo!

fm

Te va a salir más barato diseñarte un PCB y encargarlo. Te van a costar a 1,2€ la unidad.
   

maxid

para estos encapsulados no se usan brocas, son de soldadura superficial. Existen adapdatodes de soic a dip y podes conseguir pcb adaptadores como este https://www.sparkfun.com/products/494, pero como dice FM, te sale mas barato hacer un pcb, que incluso lo puedes armar con formato shield de arduino.
El que pregunta aprende, el que responde aprende a responder.

indiocochino

Hola de nuevo señores!
Por fin saqué tiempo para poder montar el chip (un TPIC1021) para poder leer señales LINBUS.
Al final me compré un adaptador y así lo pude montar en una shield para conectar más fácilmente con mi Arduino.
El tema es que después de haber conectado todo el tema, cuando me dispongo a leer del chip me llegan datos constantemente sin poder discernir los valores que se obtienen al pulsar los diferentes botones del volante.
El código utilizado es el siguiente:

int incomingByte = 0;   // para el byte leido
int enable = 8;            //salida digital para activar el chip TPIC1021

void setup() {
   Serial.begin(9600);   // abre el puerto serie a 9600 bps
        Serial1.begin(9600);   // abre el puerto serie a 9600 bps
        pinMode(enable, OUTPUT);
      }

void loop() {

        digitalWrite(enable, HIGH);
   // envia datos solamente cuando recibe datos
         if (Serial1.available() > 0) {
      // lee el byte entrante:
      incomingByte = Serial1.read();
                Serial.write(incomingByte);      // dice lo que ha recibido:
      Serial.print("He recibido: ");
      Serial.println(incomingByte, OCT); //he probado con HEX, BIN, DEC...
delay (100);
   }
}

Alguien que sepa como tratar los datos de LINBUS?
Aqui el manual del chip por si alguien quiere echarle un vistazo: http://www.ti.com/lit/ds/slis113c/slis113c.pdf

Gracias de antemano!

maxid

   Serial.begin(9600);   // abre el puerto serie a 9600 bps
        Serial1.begin(9600);   // abre el puerto serie a 9600 bps
que Arduino tenes? porque abris 2 puertos serie?

incomingByte deberia ser tipo byte.

Fijate la linea no tenga ruido, y ver que estructura emite el volante, puede ser que emita muchos datos.
No uses delay porque deja de escuchar el puerto hasta que sale del delay
El que pregunta aprende, el que responde aprende a responder.

indiocochino

Tengo un Arduino Mega 2560. He abierto los 2 puertos para poder ver por el monitor Serial la señal que le entra del chip por el RX1.
Creo que el volante debe mandar muchos datos y por eso me vuelvo un poco loco...probaré con el tipo byte a ver que pasa.

maxid

me parece que debe estar enviando una trama de datos, sino la conoces puedes ver un patron haciendo que guarde en un archivo de texto muchos bytes, y asi poder ver donde comienza y donde termina cada trama.
El que pregunta aprende, el que responde aprende a responder.

BhEaN

#11
May 20, 2013, 12:17 pm Last Edit: May 20, 2013, 12:19 pm by BhEaN Reason: 1
Veo que ya has empezado en serio con el tema, compañero (si, tambien estoy registrado por aquí, jejeje)....
Como ya te comenté, por desgracia no tengo tiempo para éste proyecto ahora mismo, pero lo observaré e intentaré colaborar en lo que pueda.

Saludos, y mucha suerte!

PD: Por si te sirve de ayuda: http://canlinbus.blogspot.com.es/2013/03/introduction-in-clain-board.html

fruano

Hola,

No se si llegaré tarde a tu consulta. En su momento, por razones de trabajo, me tocó resolver a toda prisa (una semana) el desarrollo de una unidad portable (pila de 9V) que se conectase a una producción de volantes y fuese capaz de comprobar las activaciones de los switches y padles de los volantes. Me las ví y me las deseé, pero fuí capaz de encontrar la info necesaria. Por razones de rapidez (coste y disponibilidad) lo resolví con un 16F84A y la parte de conexión al bus con un diseño basico-basico de alta impedancia sobre el mismo hilo. Al equipillo (menor que una cajetilla de güiston) lo hice trabajar como master solicitando info al volante. Como resolví todo a base de timings, me deje la posible conexion con el protocolo completamente desarrollado para más adelante. ...... y hasta hoy. Comprobamos los miles de volantes, el equipo quedó como "útil portatil" para chequeos de campo ...... y a otra cosa mariposa.

De todas formas, generé el cuadernillo de mantenimiento (funcionamiento, conexiones, esquemas, etc.) que colgaré cuando llegue a casa (el lugar donde escondo las cosas).

Nota: puede que ahora me decida a completar el trabajo sobre Arduino.

BhEaN

fruano, ese trabajo tiene una pinta INCREIBLE...
Sería utilísimo para muchos si colgaras esa info, muchas gracias por adelantado...

Saludos,

indiocochino

Mmmm...interesante! Así que te leíste la info del los botones a base de timmings!
Yo estoy en investigación y me vendría más que genial esa info. Esperaré como agua de Mayo tu cuadernillo  ;)


Go Up