Autor Tema: Raspberry - Beaglebone - CAN bus - QT  (Leído 16375 veces)

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

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Raspberry - Beaglebone - CAN bus - QT
« en: 23 de Septiembre de 2014, 12:26:26 »

Encaro mi primer proyecto completo hard-soft, usando Raspberry y Beaglebone black, además necesitaba usar un bus de comunicaciones para enlazar varias placas y me he decidido por CAN bus, como entorno de desarrollo QT Creator con C++ bajo Windows, la instalación y configuración ya la documenté al detalle en este post: http://www.todopic.com.ar/foros/index.php?topic=41770.0

La decisión del tipo de bus a usar, me ha liado un poco, en principio las placas las diseñé para comunicarse con un bus paralelo de 8 hilos, más una  linea de control por placa, máximo 7 placas, pero como se van a instalar en un entorno ruidoso electromagnéticamente hablando, y el cableado puede llegar a tener 1 ó 2 metros, decidí buscar otra solución. Se me presentaban 3 opciones, RS485, CAN bus o Ethernet, el primero no lo conozco y tendría que empezar de cero, así que descartado, Ethernet requiere un hardware caro, un hub, un conector demasiado voluminoso y un controlador para la capa física demasiado pequeño (LQFP48) para montar prototipos caseros o hacer pequeñas tiradas, así que me he decidido por CAN bus, los transceptores son baratos, a 1Mb/s de velocidad tengo de sobra y el conector y cableado no es caro ni específico.

Aquí van las 3 placas, que tengo diseñadas por ahora, ya están encargadas a HQPCB, salieron este Lunes de China, así que las espero en breve. El reto va a estar realmente en el desarrollo del software, porque QT apenas lo conozco, pero todo es empezar, me parece un entorno de desarrollo extraordinario y además es GRATUITO.


Placa MASTER, con zócalos para pinchar una Raspberry o una Beaglebone Black, PIC32 para controlar LEDS digitales WS2812B, MOSFET para controlar un motor DC, tarjetero micro SD para actualización de firmware con bootloader encriptado, controlador CAN bus MCP2551 o MCP2561, conversor SPI - CAN bus MCP2515 para dotar a la RPI/BBB de comunicación CAN bus, comunicación auxiliar por I2C RPI/BBB - PIC32, puerto USB para conexión a PC o Sticks PC (MK802, Mele, uHost, etc...).




Placa ESCLAVA de entradas, con PIC32, tarjetero micro SD, controlador CAN bus MCP2551, entradas en matriz de 8*16 (128 pulsadores)





Placa ESCLAVA de salidas, con PIC32, tarjetero micro SD para actualización de firmware, controlador CAN bus MCP2551. Salidas a MOSFET para controlar 8 bobinas alimentadas a 50 voltios DC.












« Última modificación: 23 de Septiembre de 2014, 17:36:17 por planeta9999 »

Desconectado elgarbe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2178
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #1 en: 23 de Septiembre de 2014, 13:26:03 »
muy buenas placas!!!! y son para un pinball?

sds.
-
Leonardo Garberoglio

Desconectado peteorito

  • PIC16
  • ***
  • Mensajes: 136
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #2 en: 23 de Septiembre de 2014, 14:39:35 »
Que buena pinta!! Gracias por compartir!

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #3 en: 23 de Septiembre de 2014, 15:21:04 »
muy buenas placas!!!! y son para un pinball?

sds.


Si, es una de las aplicaciones, pero lo que más me interesa es aprovechar este proyecto para meterme de lleno en la programación de la Raspberry y la Beaglebone Black con QT-Creator, y también de paso tocar el CAN bus para comunicar varias placas en red, espero que sea rápido y fiable.



Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #4 en: 23 de Septiembre de 2014, 16:18:56 »
Si quieres mas proteccion (aunque para lo que quieres creo que no lo necesitarias) en vez del mcp2551 buscate un iso1050.

Yo he tenido malas experiencias con el mcp2551 y deje de usarlo por eso, a veces si apagabas una placa antes que otra se quemaban misteriosamente.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #5 en: 23 de Septiembre de 2014, 16:47:26 »
ME encantan los pcb , tus tarjetas se ven muy padres !! ((:-))

Saludos!!

P.D. Buen tuto del QT , no lo habia visto.  8)

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #6 en: 23 de Septiembre de 2014, 17:49:42 »
Si quieres mas proteccion (aunque para lo que quieres creo que no lo necesitarias) en vez del mcp2551 buscate un iso1050.

Yo he tenido malas experiencias con el mcp2551 y deje de usarlo por eso, a veces si apagabas una placa antes que otra se quemaban misteriosamente.


Lo tendré en cuenta, aunque ya tengo encargadas las placas, si que es raro que se quemen los chips según se apaguen antes o después las placas, lo probaré todo bien por si acaso.



Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #7 en: 23 de Septiembre de 2014, 17:53:18 »
Si que es raro, es como si al apagar una placa hubiese una corriente de fuga a traves del bus can y se quema el mcp al intentar alimentar la otra placa. De todas formas, ahora que ya lo sabes, si te ocurre ya sabes que puede ser, asi no te comes la cabeza como hice yo en su momento jaja.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #8 en: 23 de Septiembre de 2014, 22:25:42 »
Nunca me paso eso en un MCP2551... :shock: :shock:
Es mas, nunca cambie uno tampoco...

Que vas a transmitir por ese bus CAN, planeta9999 ??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #9 en: 23 de Septiembre de 2014, 23:40:05 »
Nunca me paso eso en un MCP2551... :shock: :shock:
Es mas, nunca cambie uno tampoco...

Espero que tampoco me pase a mi, es la primera vez que voy a usar estos chips.


Citar
Que vas a transmitir por ese bus CAN, planeta9999 ??

La placa MASTER, activa 8 bobinas de la placa de salidas, y lee 128 pulsadores de la placa de entradas, son muy poquitos bits los que hay que transmitir. De la MASTER a la de salidas, tan solo hay que enviar 1 byte (1 bit por bobina), para activar o no cada una de las 8 bobinas, se desactivarán solas, transcurridas unas decimas de segundo, por el programa que lleva el PIC de la placa.

De la placa de entradas, se leen los 128 pulsadores conectados en una matriz de 8 x 16, las 8 filas se activan secuencialmente por un ULN2803, y con cada fila activada se leen sus 16 columnas, en total cuando la placa MASTER lo pida, la placa de entradas le debe de devolver 128 bits, cada bit se corresponde con el estado de un pulsador. La placa también se podría configurar para leer 8 entradas directas, y las otras en matriz de 8*8. Bueno en realidad, en esta placa iban más entradas, pero lo olvidé, y cuanto se lo dije al chino, ya estaban fabricando el PCB, para la próxima revisión añadiré otras 16 entradas más, para tener una matriz de 8 * 32 (256 pulsadores).






« Última modificación: 23 de Septiembre de 2014, 23:42:24 por planeta9999 »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #10 en: 24 de Septiembre de 2014, 04:34:00 »
El MCP2551 va a 5 voltios, el IO de recepción coge bien 3.3V pero si no pones una resistencia para limitar la corriente en el IO de transmisión (para forzar caida de voltaje) "freirás" la RPI y/o la BBB.

Lo digo por experiencia: el que avisa no es traidor :P

Un saludo!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #11 en: 24 de Septiembre de 2014, 06:58:16 »
El MCP2551 va a 5 voltios, el IO de recepción coge bien 3.3V pero si no pones una resistencia para limitar la corriente en el IO de transmisión (para forzar caida de voltaje) "freirás" la RPI y/o la BBB.

Lo digo por experiencia: el que avisa no es traidor :P

Un saludo!


El MCP2551 no va conectado directamente a la RPI/BBB, ninguna tienen CAN bus, para eso utilizo un MCP2515 que convierte SPI a CAN bus, ese chip si que va a 3v3.




Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #12 en: 24 de Septiembre de 2014, 08:09:23 »
Sorry: olvidé lo de la RPI.

La BBB sí que tiene CAN: búscalo bien  ;-)
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #13 en: 24 de Septiembre de 2014, 08:14:44 »
El MCP2551 va a 5 voltios, el IO de recepción coge bien 3.3V pero si no pones una resistencia para limitar la corriente en el IO de transmisión (para forzar caída de voltaje) "freirás" la RPI y/o la BBB.

Lo digo por experiencia: el que avisa no es traidor :P

Un saludo!

Allí si te serviría el MCP2561, que si mal no lo vi, trabaja a 3,3V directamente.
Ademas hay un modelo (creo que termina en 62) que tiene splitter de bus, por lo tanto permite eliminar cualquier sospecha de aterrizaje diferente de los nodos entre si.
Si bien el patillaje es similar, hay que leer las notas de aplicación para utilizarlos.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: Raspberry - Beaglebone - CAN bus - QT
« Respuesta #14 en: 24 de Septiembre de 2014, 08:31:50 »
Genial MGLSOFT no los conocía: el 62 es perfecto!

Gracias!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -


 

anything