CAN BUS: Red de Arduinos

Ok! No te había entendido....

:wink:

Hola,

Hoy con un poco más de tiempo, he probado la librería para la memoria de 2 Mb que trae el nuevo Industrial Brick. Funciona a la perfección!!
Pronto más información!

Por otro lado, no sé si conoceis las bases de plástico de Adafruit, pero están bastante bien para prototipar. Te lo puedes hacer con metraquilato, pero la verdad que están baratas y vienen con los tornillos para enganchar el Arduino, el plastico pre-agujereado, y con gomas para la base por 5 dólares:

]:smiley:

@Igor R. la idea de cambiar los conectores de tu arduino por bornas me ha gustado ademas de ese policarbonato, si señor muy chulo.
Tienes alguna referencia de las bornas?

Yo tambien me he quedado mirando esas bornas pensando...buena idea !!

igor que velocidad de lectura CAN-BUS y escritura en la memoria has conseguido?

Hola,

Si, es mi Arduino de prototipos!! je,je,je. Le desolde las tiras de pines y le puse las bornas.

Las bornas las compré en RS-Amidata o Farnell.... no recuerdo bien porque las tengo hace tiempo. Son las estandar de paso 2.54 mm. Me compre de diferentes vías. Por ejemplo => link . Te salen como productos asociados diferentes tamaños.
Estoy seguro que los puedes comprar más baratos que ahí, pero como referencia.

La memoria debería ser muy rápida, esta preparada para grabar desde 2 buffer de 512 ó 528 bytes. Todavía estoy probando, pero en teoría es menos de 20 ms para grabar una página (512 bytes) y leer muchísimo más rápido. La memoria admite hasta 66 Mhz de velocidad SPI, así que en teoría se podría usar directamente la velocidad de reloj de Arduino sin prescaler (16 Mhz). Aunque repito, estoy todavía en pruebas....
Resumiendo Sergio, necesitas una!!!

:wink:

oye que bien diogo lo mismo sobre las borneras estar super ademas es muy practico a la hora de emparmar proyectos con otros modulos.

Saludos y estamos en contacto.

jaja buen resumen !! necesito una !!!
pero todavia no que aun ando liado en los ratos libres mejorando mi otro proyecto.
ademas de arduinocarblackbox que tambien intento añadirle alguna cosita de vez en cuando, tengo que ponerme serio para ver como mejorar drasticamente el refresco del LCD con datos nuevos CAN-BUS ya q de vez en cuando se queda pillado.
por lo tanto, me espero un pelin pero caera uno seguro. a ver si para entonces ya estas leyendo canbus y grabando en SD !! jeje sino te ayudo yo.
animo.

Hoy he hecho unas pruebas rápidas, ya que tengo ambas cosas trabajando por SPI sin problemas (controlador CAN + memoria 2 Mb):

  • He modificado la librería de la memoria para trabajar por SPI al igual que el controlador CAN SPI (8 Mhz).
  • Para el ejemplo, transmito mensages cada 1 ms con una velocidad de bus de 100 kbps.
  • Recibo los mensajes y grabo cuando he recibido un total de 30 (30x8=240 bytes).

Tiempo aprox en recibir + grabar en memoria= 15.4 ms aprox (los 240 bytes).

El ejemplo, una vez recibido los 30 mensajes, los vuelca por puerto serie.

No va nada mal!!

]:smiley:

estupendos numeros Igor !!

No sigas picandome que me veo comprando una en breve.

Necesitas un nuevo brick, asi puedes hacer pruebas sin irte al coche. Ya te haremos un precio especial... :wink:

El encapsulado de la memoria es bastante pequeño y se alimenta a de 3v3 (aunque sus pines son tolerantes a ttl). El brick dispone de un regulador para dicho voltaje.

:smiley:

Eduard nos ha mandado otro video de sus avances manejando el cluster de su Seat Leon. Lo que hace es enviar mensajes en el ID que usa la radio, aunque a veces pierde el control (por ejemplo al final del video). Sigue con sus pruebas, que no van nada mal!!

Una vez que tenga controlado de forma estable, su idea es conectarse al bus de tracción, es decir tener acceso a 2 bus CAN del coche. En uno es donde se comunica la radio, teléfono, etc (infortaiment) y luego al de tracción (rpm, acelerómetro, par, velocidad, etc).
También nos adjunta un link interesante => carPC steering wheel controls | Page 22 | GOLFMKV.com - VW GTI Forum / VW Rabbit Forum / VW R32 Forum / VW Golf Forum

]:slight_smile:

Hola.
Proximamente voy a comprar el brick de Igor R. para can bus y empezar a trastear con el coche(renault megane), y queria preguntaros que software usais para interpretar los datos del arduino en el pc, ya que leer las tramas con el hiperterminal de windows o similares me parece muy engorroso.
Un saludo y gracias.

lo primero es leer tramas en hiperterminal como tu dices.
luego ya es cuestion de hacerse algun programita en visual basic y con el programa que quieras para interpretar ya que no hay programas que hagan esto.
creas una trama en el arduino y que el programa lo reconozca.
velocidad;rpms;temp;presion; etc
120;2600;85;1.5;...

así puedes hacer que te lo grafique, te lo guarde en CSV, etc

Hola monitoreal una red can es muy bueno e interezante, yo parto de saber a que velocidad opera esa red, y si es modo standar o extendido y si tengo que usar o no resistencia terminal, luego de eso voy captando las trama pero igual no es nada facil saber que hace cada trama es algo complicado lo que si veo algo rapido de identificar son los ID pero luego el contenido de cada trama tiene un objetivo que es el que hay que estudiar y analizar para poder darle aplicacion y mas si es en el caso de los carros.

Saludos y estamos en linea.

Hola de nuevo.
Me refiero a si existe un soft que saque en pantalla las tramas desglosadas en sus campos identificador, bytes de datos, etc. pero en tiempo real y agrupadas.
Hace ya unos años estuve mirando el tema del can con un elm327 pero a la hora de monitorear las tramas, se amontonaban unas tras otras y en un segundo o menos tenia el buffer del elm327 lleno y la pantalla parada y me perdia muchisimas tramas, ademas de no poder ver los cambios en cada una de las tramas.
Yo se que renault usa la norma ISO 15765-4 a una velocidad de 500kBit/s y con identificador de 11 bits, e incluso se los identificadores de las ecus del coche, pero necesito ver los cambios en las tramas en tiempo real para poder identificar que es lo que hacen cada una de ellas.

Dani29: Para que no se te "amontonen" las tramas lo mejor es filtrar y leer solamente las que te interesen. Usar las máscaras y los filtros es básico para "entrar" en una red de un coche.

Hola,

No conozco ningún soft genérico para sniffer bus CAN.

El tema "tiempo real", tiene sus peros.... ¿Cual es la carga del bus? ¿Qué velocidad tienes? ¿Qué velocidad serie vas a usar para transmitir los datos al PC? Me refiero, si vas a sniffar un bus a 1Mbps y mandar los datos al PC a 9600 baudios.... pues ya sabes dónde tienes un cuello de botella enorme. (Por poner un ejemplo). Lo digo por recordar que estamos trabajando con un micro de 8bits, que el controlador CAN es externo por SPI y que mandas los datos por comunicación serie. Con ésto, tampoco quiero decir que no se puedan hacer muchas cosas.

En general, si te vas a concentrar en ciertas tramas, como bien te han aconsejado, el uso de filtros y mascaras te ayuda a liberar al micro y poder tener más rendimiento.

Me gustaría hacer una aplicación básica para hacer esto que comentas, pero nunca saco tiempo!! Es sencillo hacerlo.
De momento, para hacer cosas rápidas, sacando por puerto serie los datos en un formato tipo csv y grabandolos, luego con las típicas herramientas de linux, excel ó con algo como Log Parser, puedes empezar a hacer cosillas interesantes muy rápido.

ToloBCN, tienes que enseñarme algun video de lo que estas haciendo!! Tienes el FIS controlado 100% ?

:wink:

Hola buenos dias, Dani29: si quieres monitoreal el red can del carro seria ideal lo que ya te comentan los colegas hacer filtrado de los ID que te interezan, otra para no complicarte mucho la cosa puede hacer un codigo basico y con el mismo terminal de la plataforma arduino ver las tramas. Lo que si te recomiendo es que uses la comunicacion serial entre el arduino y la pc a la maxima velocidad asi en lo posibles evitar perdida de tramas por visualizar en tu terminal.

Saludos y tienes que tomar todas las consideracion ya expuestas por el colega Igor y ToloBCN y como ya se dijo lo importante y para liberar y trabajar mas comodo es el filtrado de las tramas que te interezan.

Nota: si usas interrupciones en la recepcion veras mejores resultados de las tramas.

IgorR: A la pregunta si tengo controlado el FIS, pues las dos lineas de la radio (2x8 carácteres)de mi Audi A4 B6: Sí.

Es fácil, al sacar la radio original las dos líneas quedan en negro. Enviando un mensaje "Estoy aquí" cada 4 seg. aprox. las lineas se activan, mejor dicho no se apagan :P.

"Estoy aqui": ID:661h rtr: 0 lenght:8 Msj:81 01 12 A0 00 00 00 00

Para escribir en la línea superior se envia un mensaje de 8 bytes con los carácteres ASCII al ID 261h para la línea superior y 263h para la línea inferior.

Gracias ToloBCN por la info. ¿Tienes desinstalada del completo la radio? Yo en mi coche no tengo ese tipo de FIS, asi que nada.... =(
Pero por curiosidad, ¿has hecho pruebas de tener la radio y a la vez intentar sobreescribir los mensajes sobre el FIS?

¿Qué tal llevas el tema con el bus de tracción? ¿le has metido mano?

Yo ahora estoy liado con la memoria de 2Mb para tener adquisición de datos.

Saludos

:wink: