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

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

Desconectado pegasso

  • PIC10
  • *
  • Mensajes: 2
Re: Mis experiencias con el BUS CAN
« Respuesta #1425 en: 03 de Noviembre de 2013, 13:04:37 »
Hola que esten todos muy bien, nunca he programado el bus can en un microcontrolador, es mas hasta apenas ahora me entero que existia esto. Ustedes conocen mas del tema, y tengo un  proyecto que deseo desarrollar, pero para eso, me gustaria si alguien pudiera darme alguna recomendación.
El proyecto consiste, en recibir una trama de datos (a través de bus can)  que me permita modificar una pwm de acuerdo al valor de un convertidor ADC ( esto es para fines de regulación),. es decir senso voltaje-- mando la trama de datos por buscan-- y modifico la pwm para regular..
No se que integrados me recomienden para esto,o si solo sera necesario con un microcontrolador que posea bus can y adcs.
Muchas gracias

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 662
Re: Mis experiencias con el BUS CAN
« Respuesta #1426 en: 01 de Marzo de 2014, 12:37:15 »
Muy buenas noches..estoy haciendo un proyecto de comunicacion can bus con un automovil ...pero alguien tiene idea de las configuracion de velocidad con las que se comunica el can bus del automovil...gracias.
N
Hola buen día a que modelo y marca de carro te refieres. Saludos
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado rotting79

  • PIC12
  • **
  • Mensajes: 91
Re: Mis experiencias con el BUS CAN
« Respuesta #1427 en: 22 de Marzo de 2014, 01:15:27 »
hey there

u r talking about the SAE J1939 CAN Bus, that's the automotive car's communication with some kind of module (computer's vehicle), and the baud rate for that SAE is always at 125kb per sec

and sadly you have to follow some rules, with specific address and acknowledge and stuff, please read some SAE J1939 literature.
...On November 2nd, a PIC10 became self-aware and decided our fate in __delay_us ( 1 ); ...

Desconectado gatocristian

  • PIC10
  • *
  • Mensajes: 6
Re: Mis experiencias con el BUS CAN
« Respuesta #1428 en: 26 de Marzo de 2014, 00:14:43 »
buenas noches soy nuevo en esto del bus can y no se por donde empezar quiero realizar una conexion entre dos pic32 donde el nodo a le mande la orden al nodo 2 de encender varios led al mismo tiempo gracias agradesco su colaboraxion

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #1429 en: 26 de Marzo de 2014, 00:23:18 »
En que lenguaje quieres hacerlo??
Hay en este hilo varios ejemplos, busca en el indice (creo que esta actualizado). :lol:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado gatocristian

  • PIC10
  • *
  • Mensajes: 6
Re: Mis experiencias con el BUS CAN
« Respuesta #1430 en: 26 de Marzo de 2014, 00:41:15 »
en lenguaje c

Desconectado gatocristian

  • PIC10
  • *
  • Mensajes: 6
Re: Mis experiencias con el BUS CAN
« Respuesta #1431 en: 26 de Marzo de 2014, 00:43:11 »
o c++ la idea es que haga la funcion que quiero y que pueda entender cada una de las instrucciones agradesco tu ayuda

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #1432 en: 26 de Marzo de 2014, 08:19:27 »
Antes de ver un ejemplo deberás pasar por leer como funciona el BUS CAN, de otro modo llevaría un año explicártelo paso a paso...

Arranca leyendo el hilo (creado para tener info en español) y buscando información sobre el tema, si sabes ingles encontraras aun mas información en la WEB de Microchip y otras.

No te valdrá de nada un ejemplo si no entiendes primero como funciona, y que parte del protocolo se resuelve en hardware y cual en el firmware que hagas...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado gatocristian

  • PIC10
  • *
  • Mensajes: 6
Re: Mis experiencias con el BUS CAN
« Respuesta #1433 en: 26 de Marzo de 2014, 10:41:02 »
ya yo lei sobre el bus can gracias por preocuparte lo que pasa es que no se por donde empezar se sobr e las tramas todo ya yo estoy informado  solo que no sepor donde empezar agradeceria tu ayuda

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #1434 en: 26 de Marzo de 2014, 12:17:42 »
Pon un esquema en el cual ya tengas armado, de ambos nodos.
Esto del CAN NO SE SIMULA, así que olvídate de proteus en este caso...
En base a tu es que te modifico un ejemplo para que te funcione en C de CCS, no pidas mas...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado gatocristian

  • PIC10
  • *
  • Mensajes: 6
Re: Mis experiencias con el BUS CAN
« Respuesta #1435 en: 26 de Marzo de 2014, 13:38:05 »
/#include <32MX795F512L.h>
//#fuses HS,NOPROTECT,NOLVP,NOWDT
#use delay(clock=10000000)
//#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
 
#define CAN_DO_DEBUG TRUE
 
//#include <can-32xxxx.c>
#include "can-32MX795F512L.c"
 
#define PIN_LED1  PIN_A5

 
#define LED1_LOW  output_low(PIN_LED1)
#define LED1_HIGH output_high(PIN_LED1)

#define ASK_FOR_ID_AD_B      0x201  //ask for AD info from CAN port B
#define SET_LED_ID_B         0x202  //set LEDs for CAN port B

 
void main() {
   int a_leds=1;
   struct rx_stat rxstat;
   int32 rx_id;
   int buffer[8];
   int rx_len;
   }
   
   LED1_HIGH;
   delay_ms(1000);
   LED1_LOW;
   
 
   can_init();
 
   enable_interrupts(INT_TIMER2);
   enable_interrupts(GLOBAL);
 
 
   while(TRUE)
   {
      if ( can_kbhit() )
      {
         printf("\r\n");
         if(can_getd(rx_id, &buffer[0], rx_len, rxstat)) {
            if (rx_id == ASK_FOR_ID_AD_B) {
               printf("Channel B AD: %X\r\n",buffer[0]);
            }
           
         }
      }
 
 
         //change leds on port b
         printf("\r\n\r\nSet LEDs on Port B to %U",b_leds);
         can_putd(SET_LED_ID_B, &b_leds, 1, 1, 1, 0);
         b_leds++;
         if (b_leds > 7) {b_leds=0;}
      }
 

Desconectado gatocristian

  • PIC10
  • *
  • Mensajes: 6
Re: Mis experiencias con el BUS CAN
« Respuesta #1436 en: 26 de Marzo de 2014, 13:38:56 »
NODO 1

Código: C
  1. /#include <32MX795F512L.h>
  2. //#fuses HS,NOPROTECT,NOLVP,NOWDT
  3. #use delay(clock=10000000)
  4. //#use delay(clock=20000000)
  5. #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
  6.  
  7. #define CAN_DO_DEBUG TRUE
  8.  
  9. //#include <can-32xxxx.c>
  10. #include "can-32MX795F512L.c"
  11.  
  12. #define PIN_LED1  PIN_A5
  13.  
  14.  
  15. #define LED1_LOW  output_low(PIN_LED1)
  16. #define LED1_HIGH output_high(PIN_LED1)
  17.  
  18. #define ASK_FOR_ID_AD_B      0x201  //ask for AD info from CAN port B
  19. #define SET_LED_ID_B         0x202  //set LEDs for CAN port B
  20.  
  21.  
  22. void main() {
  23.    int a_leds=1;
  24.    struct rx_stat rxstat;
  25.    int32 rx_id;
  26.    int buffer[8];
  27.    int rx_len;
  28.    }
  29.    
  30.    LED1_HIGH;
  31.    delay_ms(1000);
  32.    LED1_LOW;
  33.    
  34.  
  35.    can_init();
  36.  
  37.    enable_interrupts(INT_TIMER2);
  38.    enable_interrupts(GLOBAL);
  39.  
  40.  
  41.    while(TRUE)
  42.    {
  43.       if ( can_kbhit() )
  44.       {
  45.          printf("\r\n");
  46.          if(can_getd(rx_id, &buffer[0], rx_len, rxstat)) {
  47.             if (rx_id == ASK_FOR_ID_AD_B) {
  48.                printf("Channel B AD: %X\r\n",buffer[0]);
  49.             }
  50.            
  51.          }
  52.       }
  53.  
  54.  
  55.          //change leds on port b
  56.          printf("\r\n\r\nSet LEDs on Port B to %U",b_leds);
  57.          can_putd(SET_LED_ID_B, &b_leds, 1, 1, 1, 0);
  58.          b_leds++;
  59.          if (b_leds > 7) {b_leds=0;}
  60.       }
  61.  
  62.  
« Última modificación: 26 de Marzo de 2014, 13:48:20 por MGLSOFT »

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #1437 en: 26 de Marzo de 2014, 13:59:17 »
Me permiti modificarte la forma de poner el codigo, para que se lea estilo C.
Lo haces con Geshi y eliges C del listado.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #1438 en: 26 de Marzo de 2014, 14:01:48 »
Lo lamento, pero con PIC32 no vas a poder programarlos en CCS, porque aun no tiene el compilador...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 662
Re:Mis experiencias con el BUS CAN
« Respuesta #1439 en: 11 de Abril de 2016, 03:05:35 »
Hola buenas noches aca te subo un monitoreo de unas tramas que estoy analizando, son de un carro ford el scanne envia las trama con ID720 y el carro responde con las tramaa ID728:

(HEX),720,8,02,11,01,00,00,00,00,00
(HEX),728,8,03,7F,11,22,00,00,00,00
(HEX),720,8,02,10,85,00,00,00,00,00
(HEX),728,8,02,50,85,00,00,00,00,00
(HEX),720,8,02,27,01,00,00,00,00,00
(HEX),728,8,05,67,01,89,45,CC,00,00
(HEX),720,8,05,27,02,A1,18,CA,00,00
(HEX),728,8,03,7F,27,35,00,00,00,00
(HEX),720,8,02,27,01,00,00,00,00,00
(HEX),728,8,05,67,01,D9,8B,52,00,00
(HEX),720,8,05,27,02,16,17,B7,00,00
(HEX),728,8,03,7F,27,35,00,00,00,00
(HEX),720,8,02,27,01,00,00,00,00,00
(HEX),728,8,05,67,01,28,D2,FA,00,00
(HEX),720,8,05,27,02,4C,54,60,00,00
(HEX),728,8,03,7F,27,35,00,00,00,00
(HEX),720,8,02,27,01,00,00,00,00,00
(HEX),728,8,05,67,01,79,18,61,00,00
(HEX),720,8,05,27,02,37,C8,37,00,00
(HEX),728,8,02,67,02,00,00,00,00,00

 saludos y si alguien tiene informacion de como analizar las respuesta que envia el carro y segun esas rspuesta lo que luego le envia el equipo. ese es mi proposito de analisis
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE