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

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

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #135 en: 04 de Diciembre de 2007, 08:15:21 »
Citar
Despues di con el problemas y es que el transceptor MCP2551 necesitaba una resistencia que en algunos diagramas habia visto que no lo usaban y por eso yo no lo puse. este problema lo venia arrastrando desde que use el MCP2515 por eso no me funciono en su momento.

Tienes razon, esa resistencia lo que hace es una especie de filtro EMI, si tu velocidad es baja pones un valor mas alto y tienes un gran filtrado, si la velocidad es muy alta pones un valor muy bajo y funciona correctamente...
Aqui un ejemplo de su conexión:


Citar
otra aclaracion.... hice pruebas y halle que es lo mismo usar el transceptor MCP2515 de microchip y el 82C250 DE PHILIPS los son equivalentes.
Casi todas las marcas poseen sus transceiver de CAN, yo uso ademas del MCP2551, uno de la firma Texas.
El modelo es SN65HVD251P, funciona maravillosamente bien mezclado con los MCP2551 de Microchip.
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 #136 en: 04 de Diciembre de 2007, 08:20:32 »
:-/ :-/ en horas buenas Marcos :-/ :-/
ya nos aclarara´ lo que hace con los pulsadores, donde me imagino que es el Menu del Display activando comando :mrgreen:
muchas suerte amigo  en tu projectos :-/ :-/ sigue ahi que eso va................. :-/ :-/ :-/ :-/

Gracias STK !!
Pronto hago los comentarios directamente en el mismo POST, no olvides releerlo...!! :mrgreen:
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 #137 en: 04 de Diciembre de 2007, 09:01:52 »
Comentarios en el Video Hechos, veanlo allí !!! :mrgreen: :mrgreen:
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
Mis experiencias con el BUS CAN - La comunicación
« Respuesta #138 en: 04 de Diciembre de 2007, 11:21:35 »
Aquí les pongo otro video, que es complemento del anterior, y muestra el DEBUG hecho a traves del puerto serie de uno solo de los nodos (para que vean a que velocidad es el trafico de datos), a pesar que los mensajes por tiempo son cada 5 segundos, ya que originalmente esto era cada 2 segundos, pero no se podía leer en la ventana del SIOW... :mrgreen: :mrgreen: :mrgreen:

Aquí el video:

Los comentarios serán hechos según las consultas...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4854
Re: Mis experiencias con el BUS CAN
« Respuesta #139 en: 04 de Diciembre de 2007, 11:30:41 »
 :-/ :-/muy bien los datos corren rapido :mrgreen: aunque no se pueda distinguir bien las letras pero se ve como corren :mrgreen: estupendo Marcos, eso es los mas importante la comunicaciones de los datos :-/ :-/
Gratulacion Marcos  :-/ :-/

Desconectado taichin

  • PIC10
  • *
  • Mensajes: 4
Re: Mis experiencias con el BUS CAN
« Respuesta #140 en: 04 de Diciembre de 2007, 23:30:31 »
FILTROS Y MASCARAS........  :-/

Hola yo de nuevo.... ahora quiero explicar lo que es el filtro y las mascaras.... no se si esta explicacion venga como anillo al dedo o si ya lo tienen claro en el foro. por si las dudas ahi les va.

recuerdan cual es el objetivo de una  interrupcion?? pues con los filtros y las mascaras pasa algo similar, cuando un mensaje viaja por el bus lleva un identificador pero en el caso del bus CAN dicho identificador debe ser comprobado por cada nodo que integra la red pero esto roba consumo de tiempo ya que todo mensaje generara una activacion en la bandera de recepcion del bus y si a esto le agregamos que en el bus se transfieren cientos de mensajes pues esto produciria una comprobacion exaustiva por cada nodo para estar "escuchando" el bus en todo momento, degradando el procesamiento del PIC, recordemos que el pic no debe fijar toda su atencion en el bus, solo debe poner atencion o "escuchar" los mensajes con los identificadores que le interesan.
y es aqui donde entra en accion el criterio de arbitraje y mascaras.... pero nada mejor que un ejemplo:

SUPONGAMOS QUE SE USA CAN ESTANDAR CON IDENTIFICADOR DE 11 BITS

supongamos que deseamos programar el nodo A para que reciba mensajes con un identificador que vayan del 0x7F0 al 0x7FF.

COMO LE HACEMOS?? pues simple primero aplicamos la mascara.... si ponemos a 1 los bits del registro mascara indicamos que esos mismos bits del mensaje son los que queremos poner a prueba en el filtrado.... son los bits a los que debe enfocarse el filtrado...

entonces si nos fijamos segun lo explicado en las mascaras podemos ver que la variacion se da en los ultimos 4 bits y no nos importa que valor tenga ya que si vienen presedidos del 7F entonces este mensaje MERECE LA ATENCION DEL PIC.... entonces eso quiere decir que los bits a poner a prueba son estos osea el 7F....

hasta aqui termina la chamba de la mascara entonces podemos concluir que el valor a introducir en la mascara para este caso es..... 111 1111 0000 ... indicando que los bits a poner a prueba del identificador son el 7F y los ultimos 4 bits no nos interesa ponerlos a prueba ya que no nos importan si tienen 1's o 0's .....

sigue el filtro y esto tambien es algo sencillo...  pues aqui es muy facil... el filtro tambien es un registro de 11 bits al igual que la mascara y es obvio que lo encontremos partido por que el pic trabja solo registros de 8 bits.... pues bueno el registro filtro debe tener en 1 los bits que queremos que sean 1 en el identificador y 0 en caso contrario...

pues como los primeros 4 bits no importa si son ceros o unos pues en el registro filtro tmpoco importa y es indistinto poner un cero o un uno.... pero en los bits que la mascara selecciono (7F) si es importante poner lo correspondiente... en este caso en particular pues la cosa nos quedaria asi....

                          filtro= 111 1111 XXXX      donde X no importa si es 0 o uno.....

espero que haya quedado claro...

recapitulando para aceptar identificadores de mensaje del 7F0 al 7FF, el regisro mascara y filtro queda asi...

                         mascara= 111 1111 0000
                          filtro     = 111 1111 XXXX


suponiendo el caso de que el rango identificador sea distinto al anterior por ejemplo del 6F0 al 6F0 la cosa quedaria asi...

                     mascara= 111 1111 0000
                     filtro      = 101 1111 XXXX

espero se haya entendido..... por mi es todo.... solo no se si alguien en el foro pueda explicarme el CODIGO DE REDUDANCIA CICLICA por que no se que valor es X en el polinomio generador... si tengo una idea que el polinomio cambia con cada transferencia valida y supongo que esto se traduce en mayor seguridad para el bus y lo vuelve complicado de implementar de otro modo que no sea por controladores CAN que ya incluyan dicho modulo CRC..... la verdad es que este tema no lo toque a fondo por que no encontre una corrida paso a paso del polinomio y por que los pics ya lo incluyen y no es necesario calcularlo por que como digo ya viene en el silicio....

y tambien el tema de la sincronizacion... no lo pude entender muy bien.... de hecho en mi tesis hace 2 años use el programa bit timing calculator que me evito muchos problemas.. comprendi lo general pero no pude comprenderlo a fondo.... pues es todo por mi ojala exista respuesta y si no a investigar y suerte... aa y los codigos se los dare muy pronto por aki desentierre algunos discos

OJALA Y HAYA SIDO DE UTILIDAD ESTE POST.    SALUDOS


 

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #141 en: 04 de Diciembre de 2007, 23:47:20 »
Taichin, la verdad me sorprendes!!! :-/ :-/
Es tu segundo POST y cada letra que pones no tiene desperdicio!!
Gracias por tu colaboración, en mi caso ahora sí me queda claro como es el tema de filtros y máscaras, que me tenía a maltraer, aunque ya le estaba tomando la mano.

Respecto al calculo de CRC, ni suquiera lo tomé en cuenta, porque como bien dices esta grabado en piedra (de silicio  :D), así que no hay de que preocuparse.

En cuanto al sincronismo, eso sí creo entenderlo, está preparado para minimizar el error producido por los distintos osciladores de cada Nodo, la longitud del BUS y otros temas que provocan un desfasaje entre los inicios de mensajes en el BUS.
Realmente es asombroso como funciona, y en las gráficas que puse varios POST antes hay ideas y estrategias para mejorar la ubicación y ancho del punto de muestreo.

Microchip, en sus Placas desarrollo, usa resonadores cerámicos, por lo tanto utiliza velocidades no mayores a 125 KBPs y el maximo (4 segmentos) para el punto de muestreo.

En mi caso utilizo cristales de cuarzo en cada Nodo y a 250 KBPs uso un solo segmento para el punto de muestreo.

Recuerda que según el punto de muestreo del bit sucede la resincronización posterior...
Allí está la parte importante de este tema, a mi entender... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Mis experiencias con el BUS CAN
« Respuesta #142 en: 05 de Diciembre de 2007, 01:21:21 »
muy bueno, los videos estan muy buenos :mrgreen: ya tengo unos mcp y pues espero ponerme al tanto por aca, un saludo, muchas gracias por los aportes muchachos, esta quedando muy bueno el hilo :-/
.

Desconectado escarpa

  • PIC10
  • *
  • Mensajes: 4
Re: Mis experiencias con el BUS CAN
« Respuesta #143 en: 05 de Diciembre de 2007, 05:18:59 »
Hola!
Acabo de encontrar este foro y me parece muy interesante todo lo que estáis aportando en el. Yo estoy realizando un proyecto con el cual a partir de un pc y la herramienta labwindows, como maestro me comunico con una serie de nodos que consisten en unos servomotores, todo ello con can bus, cada uno de estos servos tiene un pic 18F4480, y desde el PC mando informacion para mover los servos y desde los servos mando medidas de velocidad, tension corriente...de cada uno de los servos. tengo algunas dudas, como cual es la manera más adecuada para recibir y tratar los datos desde cada pic. sabes algo del canopen?. estos pics tienen un módulo de ECAN.

Si pudieras ayudarme estaría muy agradecido y tambien os iria contando mis experiencias y avances.

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Mis experiencias con el BUS CAN
« Respuesta #144 en: 05 de Diciembre de 2007, 08:32:12 »
CanOpen es uno de los protocolos montados sobre CAN que hoy se utilizan en la industria.
No es mala idea ir integrando tus productos a ese estandar, que te permitira competir y meter tu producto en el mercado con mas facilidad.
Si quieres ver sobre el protocolo, especificaciones, normativas, etcetera, te recomiendo entrar en la pagina oficial de CanOpen y registrarte, empezaras a recibir información que será muy importante al momento de desarrollar para ese protocolo.
La pagina es:
CanOpen

o en la pagina de Can-Cia que es:
Can-CIA
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pierno10

  • PIC10
  • *
  • Mensajes: 25
Mis experiencias con el BUS CAN
« Respuesta #145 en: 10 de Diciembre de 2007, 04:05:57 »
Buenos días !!!! :)

Estoy realizando un proyecto con BUS CAN (para domotizar mi casa) y el PIC18F2580 con el driver MCP2551.

La cuestión es que estaría interesado:

*1º En los esquemas de un SNIFFER par el BUS CAN . Ya he visto que Marcos utiliza un SW que me seria mas suficiente, pero lo que me hace falta el HW (el circuito en cuestión).

*2º Esta segunda petición va lanzada a Marcos. Seria posible disponer de los esquemas eléctricos y de la placa de tu entrenador.

*3º Ya por ultimo. Estoy realizando el proyecto con el COMPILADOR MIKROC, si alguien también lo ha usado agradecería que se pusiese en contacto vía al foro.


Muchas gracias de por adelantado....

Un saludo PERE. :-/
« Última modificación: 10 de Diciembre de 2007, 09:26:16 por pierno10 »

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #146 en: 10 de Diciembre de 2007, 08:43:00 »
OK, en breve pondre aqui el esquematico completo, no pienso hacerme rico con esto... :mrgreen: :mrgreen:
En cuanto a tu direccion de mail, no hace falta que la publiques aqui, te expones a correo SPAM, aunque segunn veo esta mal escrita... :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pierno10

  • PIC10
  • *
  • Mensajes: 25
Mis experiencias con el BUS CAN
« Respuesta #147 en: 10 de Diciembre de 2007, 09:23:53 »
Muchas   :-/ GRACIAS :-/  MGLSOFT !!!!

 :-) También he de comentar que he visto que has configurado MCP2515, del cual yo dispongo de 3 unidades; pero no he sido capaz de programarlos con la aplicación que te da microchip con el kit de desarrollo. Si no te importa estaría interesado en saber como lo has hecho. MUCHAS MUCHAS GRACIAS......
De todos modos os remitiré a todo el que este interesado el tema de las placas que estoy haciendo para el control de la domótica así como todo el código que he implementado. El código esta en C del compilador de MikroC.

Para poneros un poco en contexto de la situación, os comento de que va el proyecto en cuestión.

El objetivo de este proyecto es el control de la casa desde cualquier punto de la tierra mediante internet. Para ello usaremos el CAN bus para comunicar los distintos dispositivos de (campo) la casa, como las persianas, luces , temperatura etc... y estos le remitirán toda la información a PLC con NODO MASTER CAN BUS. Este PLC en cuestión también tiene puerto ethernet y da soporte para la creación de una pasarela entre el CAN BUS e INTERNET.

Bueno para resumir que los estoy alargando mucho

- Elementos de campo (luces, persianas, calefacción, aire....)
- Comunicación e interrogación de los elementos de campo mediante CAN BUS
- Pasarela CAN bus ETHERNET  mediante el PLC y un PC (hará las meces de servidor).


Muchas gracias por vuestra atención y estaremos en contacto.....

Un saludo

                             PERE.   :mrgreen:
« Última modificación: 10 de Diciembre de 2007, 09:29:18 por pierno10 »

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7841
Re: Mis experiencias con el BUS CAN
« Respuesta #148 en: 10 de Diciembre de 2007, 10:13:58 »
Es muy interesante tu proyecto!!
La finalidad del mío es hacer algo parecido, aunque no pensaba usar un PLC de interfaz a Ethernet...
Que PLC usas en ese proyecto?? :mrgreen:
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado pierno10

  • PIC10
  • *
  • Mensajes: 25
Re: Mis experiencias con el BUS CAN
« Respuesta #149 en: 10 de Diciembre de 2007, 13:02:20 »
HOLA MGLSOFT!!!

El PLC es un TWIDO de TELEMECANIQUE (grupo Schneider).
El uso del PLC es por que ya dispongo del mismo, y también por el grado de fiabilidad en horas de funcionamiento.
Otra de las ventajas es que la medida ya que su reducido espacio permite introducirlo en la caja de los térmicos de la vivienda sobre carril DIN.

Antes te he realiza la consulta sobre como has programado el MCP2515... Yo compre para las primeras pruebas este kit de desarrollo (te adjunto el link del PDF http://ww1.microchip.com/downloads/en/DeviceDoc/51416a.pdf ), y no he tenido narices a realizar la programación. Supongo que tu lo estas programando mediante conector ICSP. Pero claro lo que no entiendo es como lo has configurado.

Si tienes un doc de como programar el tema o me comentas donde puedo bajar documentación para la programación del mismo.
Yo me he leído al documentación de microchip y no he conseguido nada. También me hace falta saber el programador que usas (yo uso el USB LITE) pero en el WIN800 no da soporte para el MCP2515.

Después de todo esto que no es poco.... Si me puedes ayudar en algo de esto  :-/ te lo agradezco de antemano.


Un saludo

                        PERE.
« Última modificación: 10 de Diciembre de 2007, 13:05:23 por pierno10 »