Autor Tema: Mis experiencias con el BUS CAN  (Leído 894471 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 #390 en: 17 de Abril de 2008, 08:26:08 »
Me parece barbaro!!
Seguramente servira mucho para quienes quieran implementar eso en un automovil.

Si luego vemos que toma forma, dividimos el tema y que tenga vida propia... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado teleko

  • PIC10
  • *
  • Mensajes: 41
Re: Mis experiencias con el BUS CAN
« Respuesta #391 en: 17 de Abril de 2008, 09:25:41 »
Mi idea del proyecto consiste básicamente en construir un tacógrafo digital en el coche, extrayendo la info del canbus. Sería obtener por un lcd datos sobre velocidad, rpms, temperatura del motor... etc.

Y ya avanzando algo más en el tema, pues almacenarlos también en una tarjeta mmc y además lleva un interfaz RS232 para comunicar datos por el puerto serie a un pc. O para usarlo como interfaz de comunicación entre el pc y la ecu del coche.

Hay un dispositivo comercial que ya hace algunas de estas funciones, es el ELM327, que se vende por internet a un precio de unos 30€. Se basa en un pic 2480. Yo para mi proyecto estoy usando el 2580, que prácticamente es el mismo.

Aquí un pdf con la normativa SAE de comunicación con el coche, en varios protocolos, entre ellos el de Can Bus.

Normativa SAE OBD

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Mis experiencias con el BUS CAN
« Respuesta #392 en: 24 de Abril de 2008, 14:44:04 »
como va el tema del sniffer? jejeje

Yo ando con un pequeño desarrollo de can, que tengo que implementar un hardware en una red, de la cual no tengo informacion
y tengo que quitar un hardware para poner este, pero nose el id ni los datos que le llegan, asi que tendria que capturar el id y los datos para emularlos.

saludos de antonio :-/

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #393 en: 24 de Abril de 2008, 15:07:40 »
Por ahora esta en etapa de estudio las posibilidades tecnicas que tendra...
Como todo proyecto mio tiene un largo tiempo de "masticado" antes de implementarlo.
Como mi trabajo es de proyectista, se perfectamente que cuanto mas tiempo invierta en el proyecto, mas corto y eficiente sera el tiempo de implementacion.
Los años no vienen solos, por suerte... :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Mis experiencias con el BUS CAN
« Respuesta #394 en: 24 de Abril de 2008, 17:46:51 »
Yo ando con la idea de coger todos los datos que llegan y mandarlo por usb a un PC (id, trama, etc), pero la verdad que el C en pic no es mi fuerte, aunque ando con ganas y quiero aprender jejeje.

saludos de antonio

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #395 en: 24 de Abril de 2008, 21:09:13 »
como va el tema del sniffer? jejeje

Yo ando con un pequeño desarrollo de can, que tengo que implementar un hardware en una red, de la cual no tengo informacion
y tengo que quitar un hardware para poner este, pero nose el id ni los datos que le llegan, asi que tendria que capturar el id y los datos para emularlos.

saludos de antonio :-/

Hay algo que deberas conocer si o si, y es la velocidad de comunicacion del bus CAN.
Por otro lado, si armas ese hardware sin el PIC, con solo los dos buffers y el transceptor CAN, podras utilizarlo desde un PC con el software gratuito CanKing.
Alli podras analizar tramas y ver identificadores, etcetera, aun sin tener el super Sniffer.

Este que yo planee, es un proyecto que va de menor a mayor, por ello esta opcion estuvo desde el principio lista para usar... :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Mis experiencias con el BUS CAN
« Respuesta #396 en: 25 de Abril de 2008, 15:40:28 »
Se puede eso del Canking y dos bufferes? Como seria? La velocidad la se porque la he medido con un osciloscopio, entonces por lo que dices no me haria falta un pic para interceptar los datos, no? muchas gracias

saludos de antonio

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #397 en: 25 de Abril de 2008, 22:28:52 »
La parte de conexion al PC necesita los 74ls245, el MCP2515 y el MCP2550:



Si quieres mas info te la puedo enviar por privado... :mrgreen: :mrgreen:

Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re: Mis experiencias con el BUS CAN
« Respuesta #398 en: 26 de Abril de 2008, 07:16:45 »
Te lo agradeceria si puedes hacerlo, jejejeje. Muchas gracias.

Un saludo de antonio

Desconectado LeoKenobi

  • PIC10
  • *
  • Mensajes: 4
Re: Mis experiencias con el BUS CAN
« Respuesta #399 en: 27 de Abril de 2008, 22:28:06 »
Saludos Amigos,

Master Marcos, en primer lugar me gustaría mucho agradecer su post. Yo empecé a desarrollar un panel de una máquina y cuando vi el número de hilos que se han decidido a tratar de pasar otra posibilidad, y era mi interés que surgió en la red CAN.

Se ha intentado en la red, pero fue gracias a su cargo todo lo que podía identificar, desarrollar y probar prototipos de mi trabajo con todas. Mi corazón de la brigado por su valiosa ayuda de su aliento, y me disculpo por no haber hecho esto antes, gracias, pero en dos intentos que se redujo el firefox, y usted no quiere venir aquí incomodá que sin saber lo suficiente para no repetir las mismas preguntas que otros han hecho.

Sin embargo, aunque yo vengo con una pregunta en ese momento si pudiera parasaber me elucidá. Para el proyecto el MCP 25050 sería perfecto porque todos los control de la máquina seneriam , pero estoy en duda acerca de cuáles son los parámetros que no puede cambiar la ruta de mensajes (es decir, cuál sería el mínimo necesario para arrancar i enteneder de los mensajes en el bus). Ya he terminado la base de desarrolladores del microchip en el kit (para utilizar el programa que viene con el kit).

Ahora estoy inmensamente agradecido por la ayuda.
Abrazo y gracias una vez más
Leonardo

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #400 en: 28 de Abril de 2008, 08:52:54 »
Estimado Leo, podras reescribir este mensaje en tu idioma natural, el portugues ???
Pasa que aunque soy incapaz de hablarlo, si puedo leerlo.
Lamentablemente la traduccion que has hecho no es buena, y se entiende menos que si lo escribieras en tu idioma natural.
Gracias. :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado LeoKenobi

  • PIC10
  • *
  • Mensajes: 4
Re: Mis experiencias con el BUS CAN
« Respuesta #401 en: 28 de Abril de 2008, 11:42:33 »
Estimado Leo, podras reescribir este mensaje en tu idioma natural, el portugues ???
Pasa que aunque soy incapaz de hablarlo, si puedo leerlo.
Lamentablemente la traduccion que has hecho no es buena, y se entiende menos que si lo escribieras en tu idioma natural.
Gracias. :mrgreen: :mrgreen:

Mestre Marcos, peço desculpas, pois para ler oustras linguas consigo sem problemas, mas para escrever e fala outros idiomas sou muito ruim, dai escrevi em portugues e usei o tradutor do Google, mas percebo que ele sabe menos que eu..   :mrgreen:

Mas o que queria dizer era em primeiro agradecer muito pelo seu post. Cmecei a desenvolver
um painel para máquina e quando vi a quantidade de fios que teria de passar decidi tentar outra possibilidade, e foi dai que surgiu meu interresse na rede CAN. Procurei muito na net, mas foi graças a seu post que consegui entender melhor o funcionamento com PIC, desenvolver meus protótipos e testar com tudo funcionando perfeito de cara. Meu muito obrigado de coração pela sua valiosa ajuda, seu incentivo, e peço desculpas por não ter feito esse agradecimento antes.

Mas ao mesmo tempo estou com uma dúvida e peço se você poderia me elucidá-la. Para o projeto o MCP 25050 seria perfeito pois faria todo o controle da máquina descentralizado, mas estou na dúvida de quais são os parametros nele que não posso alterar via mensagens já que só posso programá-lo uma vez e pelos datasheets não consegui identificar o que seria o mínimo necessário para a inicialização dele + a compreenção das mensagens no bus.

Já fiz o programador baseado no kit da microchip (para poder usar o programa que o acompanha).

Fico imensamente grato pela ajuda e me disponho para qualquer coisa que possa ajudar daqui do Brasil.
Abraços a todos
Leonardo

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #402 en: 28 de Abril de 2008, 15:04:51 »
Bien, ahora se entiende mejor, no queria equivocar la respuesta, por eso te pedi escribieras en portugues.

Veo que necesitas ayuda sobre el MCP25050, que es un dispositivo magnifico para hacer cosas baratas pero limitadas.
Ya hablamos del mismo aqui en el foro.

Debes saber dos cosas del mismo:
  • debes especificar cuales tareas hara el dispositivo en el bus CAN a la perfeccion, ya que es OTP (One Time Programming)
  • los parametros o direcciones que NO se pueden cambiar luego haciendo uso del BUS CAN son todos aquellos que programan a que velocidad y modo trabajara el dispositivo en el BUS, por razones obvias son los que debes conocer antes que todo

Si bien el resto de los parametros son reprogramables por medio del bus CAN, debes saber que cada vez que el dispositivo pierde su alimentacion, vuelve a los valores con los cuales fue programado, por lo tanto es obvio que si lo programas como deseas de entrada, evitaras tener que reprogramarlo cada vez que reinicies el sistema.

Si mal no entiendo, tienes una placa desarrollo de Microchip, debo advertirte algo, el programa no graba correctamente los valores dentro del MCP25050 (hay mucha info en la WEB, incluso en el mismo foro de Microchip) por lo tanto te sugiero armarte de paciencia y de las herramientas necesarias para poder programarlos sin arruinarlos.

espero te sea de ayuda. :mrgreen: :mrgreen: :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado quirogaareal

  • PIC16
  • ***
  • Mensajes: 180
Re: Mis experiencias con el BUS CAN
« Respuesta #403 en: 28 de Abril de 2008, 21:53:26 »
Hola  Muchachos:

Miren aca hice una programacion y me detecta que recibe lo que mando pero aparece otra cosa , como ser yo mando la letra A ..como hexa de cimal  0x41 , o como caracter y recibo algo que nada que ver con la letra .
aca les publico el codigo.
Alguna sugerencia

#include "C:\Documents and Settings\Leo\Mis documentos\CAN\CAN_Mod_A\CAN_Mod_A.h"
#define CAN_USE_EXTENDED_ID TRUE

#include "flex_lcd1.c"
#define Set_125K_Baud TRUE
#include "can-18xxx8.c"

char  out_data[8];
int32 tx_id=24;
int1  tx_rtr=1;
int1  tx_ext=1;
int   tx_len=8;
int   tx_pri=3;
char  b0 = 0x30;
char  b1 = 0x41;
int   i, j;

#int_canrx0
void canrx0_int ( )
{
   lcd_putc("\fRX0");   
   delay_ms(500);   
}

#int_canrx1
void canrx1_int ( )
{
   lcd_putc("\fRX1");   
   delay_ms(500);   
}

#int_cantx0
void cantx0_int ( )
{
   if (i != 0xFF)
   {
      lcd_putc("\fEnvio OK");
      delay_ms(300);
      lcd_putc("\f");   
     
      for (j=0;j<tx_len;j++)
         printf(lcd_putc,"%c",out_data[j]);     
      delay_ms(2000);         
   }
   else
   {
      lcd_putc("\fEnvio Fallo");
      delay_ms(1000);           
   }           
}
#int_cantx1
void cantx1_int ( )
{
   if (i != 0xFF)
   {
      lcd_putc("\fEnvio OK");
      delay_ms(300);
      lcd_putc("\f");   
     
      for (j=0;j<tx_len;j++)
         printf(lcd_putc,"%c",out_data[j]);     
      delay_ms(2000);
   }
   else
   {
      lcd_putc("\fEnvio Fallo");
      delay_ms(1000);           
   }   
}
#int_cantx2
void cantx2_int ( )
{
   if (i != 0xFF)
   {
      lcd_putc("\fEnvio OK");
      delay_ms(300);
      lcd_putc("\f");   
     
      for (j=0;j<tx_len;j++)
         printf(lcd_putc,"%c",out_data[j]);     
      delay_ms(2000);
   }
   else
   {
      lcd_putc("\fEnvio Fallo");
      delay_ms(1000);           
   }   
}

void main()
{
   //int8 Buf_Env = 0;

   lcd_init();
   can_init();

   enable_interrupts(int_canrx0);
   enable_interrupts(int_canrx1);
   enable_interrupts(int_cantx0);
   enable_interrupts(int_cantx1);
   enable_interrupts(int_cantx2);

   port_b_pullups(TRUE);
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
   enable_interrupts(GLOBAL);
   setup_low_volt_detect(FALSE);

   for(;;)
   {
      if(!input(PIN_B0))
      {
         lcd_putc("\fB0 PRES");
         delay_ms(1000);         
         
         b0 = 0x30;
         
         for (j=0;j<tx_len;j++)
         {
            out_data[j]=b0;
            b0++;
         }

         i=can_putd(tx_id, out_data, tx_len, tx_pri, tx_ext, tx_rtr);

      }
      if(!input(PIN_B1))
      {
         lcd_putc("\fB1 PRES");
         delay_ms(1000);
         
         b1 = 0x41;
         
         for (j=0;j<tx_len;j++)
         {
            out_data[j]=b1;
            b1++;
         }

         i=can_putd(tx_id, out_data, tx_len, tx_pri, tx_ext, tx_rtr);         
         
      }
      if(!input(PIN_B4))
      {
         lcd_putc("\fB4 PRES");
         delay_ms(1000);
         
         out_data[0] = 0x41;
         out_data[1] = 0x56;
         out_data[2] = 0x41;
         out_data[3] = 0x73;
         out_data[4] = 0x79;
         out_data[5] = 0x73;
         out_data[6] = 0x20;
         out_data[7] = 0x4C;
         
         i=can_putd(tx_id, out_data, tx_len, tx_pri, tx_ext, tx_rtr);         
         
      }     
      lcd_putc("\fMain A");
      delay_ms(100);     
   }

}
Recuerda : Si una mujer te ama de verdad no te pedira ni Matrimonio, Ni concubinato , Ni hijos, No te mentira , ni buscara que cambies de opinion con respecto a las tres primeras opciones.

Saludos

desde Cordoba Argentina

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7907
Re: Mis experiencias con el BUS CAN
« Respuesta #404 en: 28 de Abril de 2008, 22:00:57 »
Que clock tienes y podras publicar el archivo de encabezado??
Me refiero a CAN_Mod_A.h 
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.