Simulación de bus CAN (propósito automotriz) - probé Arduino y SparkFun

5

Reparo sistemas de dirección eléctricos para automóviles, especialmente Fiat, Alfa y Lancya (fabricantes de Delphi), y necesito hacer alguna herramienta para probar estas reparaciones. Me refiero a encenderlo, por ejemplo.

He investigado durante un tiempo, y he pensado que necesito simular las señales del bus CAN, ya que la ECU ECU es recibiendo paquetes de encendido de CAN. Aquí voy ...

Necesito saber de qué manera podría leer y enviar paquetes CAN desde / al bus. Quiero decir, qué herramienta o cualquier otra cosa. He estado probando con Arduino Uno + a SparkFun CAN BUS Shield , pero no obtengo ningún resultado. Cuando todo está conectado, mi consola serie no está olfateando ningún paquete. Creo que he conectado todos correctamente, y he probado diferentes tasas de bits, he cambiado el escudo y las placas Arduino, he probado muchos ejemplos diferentes. He invertido muchas horas sin ningún beneficio ... Estaba usando SEAT Ibiza 2010 para I + D, CAN-H conectado y CAN-L en el OBD puerto, en las líneas CAN de la radio, etc ...

Cualquier idea de lo que podría estar mal es bienvenida, como lo es un nuevo método para hacer mi proyecto ...

Información:

Bibliotecas utilizadas

ACTUALIZACIÓN 2 (28/12/2014): Usé un multímetro porque no tengo un osciloscopio. La lectura de los voltajes siempre me proporciona 2,5 V en CAN-H y CAN-L, recibo estas lecturas en Arduino CAN-H CAN-L y en el puerto OBD2 (pines 6 y 14)

ACTUALIZACIÓN 3 (29/12/2014): Estoy planeando cambiar a algún lenguaje de programación con una interfaz CAN, cualquier sugerencia es bienvenida, ¡gracias!

ACTUALIZACIÓN 3.1 (30/12/2014): Definitivamente, estoy tomando otra forma de hacerlo, estoy esperando que Kvaser y ECOM me respondan en sus correos electrónicos de soporte. De esa manera podremos saber si sus herramientas encajan con mi proyecto. Os mantendré informados, ¡gracias por toda la ayuda! :)

    

3 respuestas

2

El escudo Arduino CAN es bastante bueno si quieres construir una computadora integrada para jugar con CAN. Sin embargo, si lo comprendo correctamente, está creando una herramienta única para su uso personal (o simplemente utilizará una herramienta estándar si existe por el precio correcto). Por ese motivo, le insto a que considere la posibilidad de escribir software para PC en lugar de software integrado para interactuar con las interfaces de hardware CAN existentes de bajo costo.

Charlie Miller y Chris Valasek utilizaron esta llamada herramienta de ECOM y escribieron un software que interactúa con ella. La herramienta ECOM parece tener una API y un controlador de ejemplo. Su documento técnico y software de piratería de vehículos proporcionará un buen punto de partida para la interfaz de una PC a un carro Softing también fabrica hardware de interfaz CAN de PC, pero tengo problemas para acceder a su sitio web en este momento, por lo que no lo vincularé.

También hay varias herramientas comerciales de software completas para analizar y simular CAN también en una PC. CANoe de Vector es una herramienta bien conocida (y costosa) para ese propósito.

    
respondido por el downbeat
1

Si está dispuesto a comprar algo de la estantería por unos pocos cientos de dólares, los productos Kvaser's Leaf son bastante fáciles de usar. Le permiten enviar secuencias de paquetes pregrabadas y monitorear el bus. Puede obtener uno con un conector OBD-2 si eso es lo que necesita.

Construir su propio equipo de prueba está bien para un proyecto personal, pero si está ganando dinero con estas reparaciones, probablemente sea mejor comenzar con algo que sepa que es confiable.

    
respondido por el Adam Haun
0

Después de haber conseguido obtener los números de un bus CAN con un controlador incorporado, creo que el mayor problema que está experimentando son los ejemplos de los proveedores que no inicializan correctamente los registros del controlador CAN para los cantos CAN y el tiempo de muestreo.

Para frenar los esfuerzos de los populares escudos de CAN, está el SparkFun de cristal de 16 MHz y el uso de Seeeed. Entonces, el Arduino de baja velocidad no es adecuado para mover datos en serie. Ninguno de los códigos de muestra en Internet funciona porque son todos ejemplos enlatados para 1 Mbit / s ...

Algunos microcontroladores tienen controladores CAN integrados (por desgracia, casi ninguno tiene transceptores). Utilicé un ChipKIT Max32 y un MCP2551 a través del tablero en el siguiente circuito. Además, aproveché los transceptores de los escudos CAN de SparkFun y Seeed para obtener datos de Tx / Rx. El Max32 del ChipKIT tiene dos controladores CAN y un reloj de CPU de 80 MHz, por lo que es ideal para la experimentación CAN. Usando una calculadora en línea, pude configurar el controlador del PIC32 en el primer intento.

He suspendido mi desarrollo en CAN para otros proyectos, pero un afiliado ha convencido a un Arduino Uno con protectores CAN para que lea desde un bus de 500 kbit / s. Miré el código que recientemente compartió conmigo, pero no pude encontrar cómo se configuró la sincronización del controlador MCP2515 o cómo se diferenció del código de ejemplo.

El siguiente panel de desarrollo que estoy probando es el LaunchPad TM4C123GXL de Ti. Tiene controladores CAN, USB OTG, gran cantidad de E / S y cuesta US $ 13.

    
respondido por el Chris K

Lea otras preguntas en las etiquetas