Autor Tema: Mis experiencias con el BUS CAN  (Leído 892216 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #1215 en: 26 de Agosto de 2012, 20:55:57 »
A ver.
Una de las mayores diferencias del protocolo CAN, es que es multimaestro, en un sistema denominado productor-consumidor.
Es decir, puede haber componentes que emitan un mensaje por intervalos de tiempo, dirijido a un determinado ID o a un grupo de IDs que consumiran ese dato.
Eso lo hacen sin necesidad de que un maestro le solicite el envio, y los ID restantes, a pesar que escuchan el mismo mensaje, pueden simplemente ignorarlo.

Normalmente un Sniffer CAN, esta abierto a toda la mensajeria del bus, para poder analizar tramas, o el usuario puede tambien determinar un ID o varios a cuales escuchar y enviar mensajes, ignorando el resto de las tramas que circulan por la red.

Toda esta explicacion, es para llegar a explicar que no interesa si hay mas de un maestro, ya que el sistema lo acepta.
Puedes enviar tramas de comandos sin necesidad de aislar la central propia del automovil, eso si, comienza probando algo muy sencillo, ya que si arrancas con algo embromado, como ejemplo la direccion o el control de frenado, podrias ponerte en riesgo y tambien a terceros dentro y fuera del vehiculo.
Esto no es un videojuego, es simplemente la realidad... :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado McG

  • PIC10
  • *
  • Mensajes: 4
Re: Mis experiencias con el BUS CAN
« Respuesta #1216 en: 27 de Agosto de 2012, 08:37:18 »
Por las pruebas que pude hacer con un SEAT Ibiza, dejado solo los cables de Potencia de alta seccion y los de la linea CAN era como arrancaba, si le quitaba alguno de CAN ya fuera H o L no hacia nada.

Desconectado firewarrior

  • PIC10
  • *
  • Mensajes: 5
Re: Mis experiencias con el BUS CAN
« Respuesta #1217 en: 27 de Agosto de 2012, 09:07:29 »
No me he explicado bien.
La centralita de la que hablo es la del techo solar que es la que tiene el ID mas alto ya que es la menos importante, y no creo que ocurra nada malo con ella.
Esta centralita solo actua cuando el coche esta parado o casi parado, digamos menos de 3km/hora.

Lo que me propongo es capturar la pulsacion del boton de apertura y cierre del techo solar, aislar la centralita de la red CAN y enviarle una trama con la velocidad equivocada para que me deje abrir o cerrar el techo solar a una velocidad mayor de 3Km/Hora, cuando el techo se encuentre en la posicion deseada y suelte el boton, que la centralita vuelva a unirse a la red CAN del coche ya que el techo dispone de un display que refleja la hora, temperatura exterior y otras cosas que recoge del bus tambien y que todavia no he descifrado.

Ya he hecho las pruebas y funciona bien, pero si mando la trama con la velocidad modificada y la centralita esta unida a la red CAN, termina por leer la trama verdadera y no puedo abrir o cerrar el techo. En cambio si la aislo de la red, funciona perfectamente, pero el display se queda vacio.

Si solo aislo la centralita cuando abro o cierro el techo y vuelvo a unirla despues a la red funciona todo perfecto.

Mi duda es cual es la mejor forma de hacer esto, habia pensado con un pequeño rele de señal, pero como dice Merlinz es un poco rudo y chapucero y no se si afectaria al resto de la red CAN.

A ver si me podeis aconsejar sobre algun buffer o un sistema para hacer esto bien.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Mis experiencias con el BUS CAN
« Respuesta #1218 en: 27 de Agosto de 2012, 11:49:45 »
No me he explicado bien.
La centralita de la que hablo es la del techo solar que es la que tiene el ID mas alto ya que es la menos importante, y no creo que ocurra nada malo con ella.
Esta centralita solo actua cuando el coche esta parado o casi parado, digamos menos de 3km/hora.

Lo que me propongo es capturar la pulsacion del boton de apertura y cierre del techo solar, aislar la centralita de la red CAN y enviarle una trama con la velocidad equivocada para que me deje abrir o cerrar el techo solar a una velocidad mayor de 3Km/Hora, cuando el techo se encuentre en la posicion deseada y suelte el boton, que la centralita vuelva a unirse a la red CAN del coche ya que el techo dispone de un display que refleja la hora, temperatura exterior y otras cosas que recoge del bus tambien y que todavia no he descifrado.

Ya he hecho las pruebas y funciona bien, pero si mando la trama con la velocidad modificada y la centralita esta unida a la red CAN, termina por leer la trama verdadera y no puedo abrir o cerrar el techo. En cambio si la aislo de la red, funciona perfectamente, pero el display se queda vacio.

Si solo aislo la centralita cuando abro o cierro el techo y vuelvo a unirla despues a la red funciona todo perfecto.

Mi duda es cual es la mejor forma de hacer esto, habia pensado con un pequeño rele de señal, pero como dice Merlinz es un poco rudo y chapucero y no se si afectaria al resto de la red CAN.

A ver si me podeis aconsejar sobre algun buffer o un sistema para hacer esto bien.

Conoces como funcionan los buffers triestado? Creo que te vendrian bien, conectas el canh y canl a las entradas y mediante el pin enable activas/desactivas la comunicacion entre la linea can y el modulo que dices. Al igual que un rele cuando se desactiva se pone en alta impedancia el buffer es lo mismo, sin embargo el buffer no mete ningun ruido como el rele y su conmutacion es digital no por contactos.
« Última modificación: 27 de Agosto de 2012, 11:51:57 por MerLiNz »

Desconectado firewarrior

  • PIC10
  • *
  • Mensajes: 5
Re: Mis experiencias con el BUS CAN
« Respuesta #1219 en: 27 de Agosto de 2012, 12:07:17 »
Conoces como funcionan los buffers triestado? Creo que te vendrian bien, conectas el canh y canl a las entradas y mediante el pin enable activas/desactivas la comunicacion entre la linea can y el modulo que dices. Al igual que un rele cuando se desactiva se pone en alta impedancia el buffer es lo mismo, sin embargo el buffer no mete ningun ruido como el rele y su conmutacion es digital no por contactos.

Pues la verdad es que no conozco bien como funcionan ya que nunca los he usado y solo soy aficcionado a la electronica y no profesional, pero ahora mismo me pongo a buscar informacion por la red sobre estos buffers, ¿me recomiendas alguno en especial?

Gracias.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Mis experiencias con el BUS CAN
« Respuesta #1220 en: 27 de Agosto de 2012, 13:02:33 »
SN74LVC2G125-Q1 por ejemplo, el unico problema es que solo lo venden en SMD, no se si has hecho alguna placa o algo, pero vamos seguramente que se pueda buscar otro en formato dip para hacer una placa mas facil.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Mis experiencias con el BUS CAN
« Respuesta #1221 en: 27 de Agosto de 2012, 14:54:38 »
y el MC14066? yo lo use para conmutar audio.no se si servira para frecuencias mayores.y es bastante varato.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Mis experiencias con el BUS CAN
« Respuesta #1222 en: 27 de Agosto de 2012, 15:07:06 »
el can va a 1mhz como mucho (aunque los hay mas rapidos pero no es el caso) el caso es que hay cientos para elegir xD

Desconectado firewarrior

  • PIC10
  • *
  • Mensajes: 5
Re: Mis experiencias con el BUS CAN
« Respuesta #1223 en: 28 de Agosto de 2012, 12:27:50 »
Gracias por los consejos.
He estado mirando y parece que el MC14066 es mejor ya que es un Switch y puede recibir y enviar datos tanto por los pines de entrada y salida, y la centralita ademas de recibir mensajes CAN tambien los envia, en cambio con un buffer necesitaria 4, 2 para recibir mensajes desde la red (canH y canL) y otros 2 para enviarlos.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Mis experiencias con el BUS CAN
« Respuesta #1224 en: 28 de Agosto de 2012, 14:37:20 »
cierto que no es bidireccional, no habia caido en ello. Lo importante es que sea triestado para que cuando lo pongas disable se ponga en alta impedancia.

Desconectado mogollan

  • PIC10
  • *
  • Mensajes: 4
Re: Mis experiencias con el BUS CAN
« Respuesta #1225 en: 27 de Octubre de 2012, 20:42:44 »
Hola a todos, soy nuevo en este protocolo a lo que me surgieron un par de dudas; tengo dos microcontroladores un 16f8777A y un 18f2550 ambos con su respectivos Módulos CAN MCP2515 y Transceptores MCP2551, he visto que el autor MGLSOFT modificó las librerías "can-18F4580.c" para el uso de diferentes velocidades 125,250 y 500 kbps, pero en este caso...

1.-¿ Tendría que hacer el mismo procedimiento de modificación de las librerías can-mcp251x.c ? ya que la funcion can_set_baud es muy distinta a la del can-18F4580.c
me refiero a esto:
[IMG=http://img713.imageshack.us/img713/1010/preguntadelibrerias.jpg][/IMG]

2.-¿Para simular toda una red con BUS CAN que usan?, ya Proteus contiene casi todo pero no los Módulos CAN MCP2515 ni Transceptores MCP2551
espero que me puedan ayudar, de antemano muchas gracias , saludos desde México.
« Última modificación: 27 de Octubre de 2012, 20:45:39 por mogollan »

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #1226 en: 27 de Octubre de 2012, 21:36:08 »
Hola, bienvenido al hilo...
Primero, ninguno de tus PIC contiene controlador CAN incorporado, por eso deberas utilizar el MCP2515 que es un controlador externo, que permite incorporar la funcionalidad CAN en cualquier PIC, aunque aumenta el tamaño de la placa...
La libreria que comentas es para PICs con controlador CAN incorporado, es mas, para la linea con ECAN.
La libreria que deberas utilizar es la mcp2515.c y esta tambien tiene esa parte de configuracion, pero en este caso los valores de velocidad vienen dados segun el cristal externo que le pongas, el mas comun es el de 16 Mhz, por lo tanto deberas tomar la herramieta de calculo y establecer los valores para el juego de seteos tu mismo, segun la velocidad del bus que vayas a utilizar.
La mas normal, en que vienen todos los ejemplos de CCS y de Microchip, es 125 Kbps, por lo tanto si te estas iniciando te recomiendo usar esa velocidad, y despues te vas a ir metiendo mas en el tema, y alli veras como sacas tus propias velocidades.
Si usas 125 K, con los ajustes originales de la libreria, seguramente podras trabajar con los ejemplos tal como vienen.

Saludos y suerte!! ;-) ;-)
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado mogollan

  • PIC10
  • *
  • Mensajes: 4
Re: Mis experiencias con el BUS CAN
« Respuesta #1227 en: 27 de Octubre de 2012, 22:26:00 »
Hola,gracias por responder pronto,entonces reafirmando...
Entiendo que mis dos uC´s no tienen el modulo CAN incorporado, es por eso que compré los modulos externos MCP2515 y MCP2551

1.-Asimilando que trabajaré a 125 Kbps, deberé de incluir tal cual la libreria "can-mcp251x.c" ya sin ninguna modificacion ??
2.-Y para la simulación ¿Que Software usaste ? acostumbro a usar Proteus, pero no tiene los dispositivos MCP2515 y MCP2551 :(

Desconectado afelio

  • PIC16
  • ***
  • Mensajes: 130
Re: Mis experiencias con el BUS CAN
« Respuesta #1228 en: 28 de Octubre de 2012, 07:31:55 »
Buenos días a la CAN-family.

Por fín he podido sacar tiempo para leerme las 62 páginas, ante todo me rindo a vuestros pies. Estais hechos unos figuras.

Siempre había empezado a leer el post y debido al tiempo me quedaba en la página 8 aprox.

Bueno, mi intención es emplear el bus can con un PIC32MX534F064H, y el transceiver MCP2551.

Todavía estoy bastante  :mrgreen: (Verde pero sonriente), y tengo que macerar todos vuestros conocimientos, y por supuesto ir sacando mis dudas:

Por qué se pone la resistencia entre CANH y CANL??

Sobre el analizador que os habeis creado, yo tengo en la placa de mi bus can conectado un FT232 para sacarlo por USB al hipertérminal (Ya se que no haría falta el FT232 ya que del micro puedo sacar directamente el USB, pero todavía ando más verde en dicho tema y le doy prioridad al BUS CAN). Se podría hacer el analizador así sin problemas??Es decir, obtener los parámetros recibidos por el CAN y mandarlos por el mismo micro al FT??

Muchas gracias, espero ponerme pronto a vuestra altura en conocimientos.

Un saludo.

Desconectado peteorito

  • PIC16
  • ***
  • Mensajes: 136
Re: Mis experiencias con el BUS CAN
« Respuesta #1229 en: 28 de Octubre de 2012, 10:34:47 »
 Buenas!
 La resistencia se ponen para cerrar el bus  quedaria asi



De lo del FT323 no te puedo ayudar
Yo lo que  he  probado es usar un pic con usb(18f4550 )+MCP2515(controlador can) + mcp2251(implemente la capa fisica ), y  envio y recibo desde el bus can al  pc los datos y leugo con un programa en vc# lo visualizo


 

anything