Autor Tema: Comunicacion entre varios PICs  (Leído 4700 veces)

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

Desconectado nacho687

  • PIC10
  • *
  • Mensajes: 5
Comunicacion entre varios PICs
« en: 18 de Agosto de 2013, 20:19:07 »
Hola a todos. Soy nuevo en esto y tengo una duda con un proyecto. Quiero comunicar varios pic, 8 por ejemplo, con otro pic. Osea lo que quiero hacer es mandar el valor que tiene cada pic en un contador, a un solo pic "central" que recibe todos los valores y hace un calculo con ellos. ¿esto se podria hacer de alguna forma? ¿me podrian ayudar con alguna idea?

Muchas gracias

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Comunicacion entre varios PICs
« Respuesta #1 en: 18 de Agosto de 2013, 20:33:06 »
hola bienvenido al foro nacho687
lo primero es pensar en la dintancia entre pic maestro y los pics esclavos, despues mirar la velocidad de trasferencia.... y asi muchas cosas....

si no necesitas de mucha velocidad y los pic estan cercanos al maestro, por usart puedes al igual que por spi.... este segundo gana algo mas de velocidad aunque la distancia se reduce :(

si estan distanciados los pics esclavos dem maestro, lo mejor son modulos Xbee por bluetooh

que tipo de pics vas a usar? danos alguna pista mas
« Última modificación: 18 de Agosto de 2013, 20:35:37 por ppyote »
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado nacho687

  • PIC10
  • *
  • Mensajes: 5
Re: Comunicacion entre varios PICs
« Respuesta #2 en: 18 de Agosto de 2013, 20:59:26 »
muchas gracias por responder ppyote.. En cuanto a las distancias serian de dos o 3 metros, y no necesitaria mucha velocidad. En cuanto a lo de usart lo habia pensado, pero esto se podria hacer entre dos pics, no entre varios como quiero hacer, o estoy equivocado? lo que por ahi se me habia ocurrido era usar algun tipo de multiplexor para ir comunicando de a 1 pic con el pic central.
Y en cuanto al los pics no los tengo definidos todavia porque no se como se podria hacer.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comunicacion entre varios PICs
« Respuesta #3 en: 18 de Agosto de 2013, 21:05:48 »
Hola! Podes usar RS485 mas algún protocolo que te permita distinguir entre distintos esclavos... Lo podes armar vos uno sencillo.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Comunicacion entre varios PICs
« Respuesta #4 en: 18 de Agosto de 2013, 21:26:11 »
Pudieras comunicar los pic como te dicen, via RS232, si utilizas el CCS por ejemplo seria bastante sencillo.   :mrgreen:

Pero que compilador piensas emplear?

Para que podamos darte alguna sugerencia de como hacerlo  :mrgreen:

Desconectado nacho687

  • PIC10
  • *
  • Mensajes: 5
Re: Comunicacion entre varios PICs
« Respuesta #5 en: 18 de Agosto de 2013, 21:29:26 »
Muchas gracias de nuevo. Uso el CCs

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Comunicacion entre varios PICs
« Respuesta #6 en: 18 de Agosto de 2013, 22:12:04 »
Bueno si empleas el CCS podrias hacer algo como esto:
Utilizar el FLOAT_HIGH (con esta instruccion deberias utilizar una resistencia de pull up, como en el I2C, evitas cortos y detectas colisiones en el buff   :mrgreen:), el RETURN y pudiera ser el MULTI_MASTER y asi podrias comunicarte por RS232  :mrgreen:
Esa es una forma pero no es la unica  ;-)

Revisa la ayuda del CCS alli lo explica mejor y puedes ir haciendo pruebas  :mrgreen:

Saludos

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Comunicacion entre varios PICs
« Respuesta #7 en: 19 de Agosto de 2013, 03:27:42 »
Por I2C También se podría hacer, pero todo depende del los pic a usar
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado nacho687

  • PIC10
  • *
  • Mensajes: 5
Re: Comunicacion entre varios PICs
« Respuesta #8 en: 19 de Agosto de 2013, 14:53:40 »
Por I2C También se podría hacer, pero todo depende del los pic a usar

Como lo podria hacer y con que pic?

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Comunicacion entre varios PICs
« Respuesta #9 en: 19 de Agosto de 2013, 15:24:35 »
Lo primero que debes hacer es configurar la comunicación i2c al maestro, este se comunica por el mismo bus con todos los pic esclavos
cada pic esclavo tiene asignado un valor, el maestro va preguntando por el bus a cada valor de pic esclavo asignado
el esclavo sólo tiene que contestar, y una vez ha contestado, esperar un tiempo para evitar la colisión de datos... Y el maestro a volver a preguntar al siguiente valor de esclavo asignado... La comunicación i2c los dos cables llevan conectadas resistencias pullups...
En cuanto a lo de que pics usar, por software yo nunca he conseguido comunicar en modo esclavo y no se sí se podrá... O era spi? Ya no me acuerdo Jajaja
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Comunicacion entre varios PICs
« Respuesta #10 en: 19 de Agosto de 2013, 17:18:16 »
Para la distancia que se quiere utilizar evaluar la velocidad de I2C a usarse.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Comunicacion entre varios PICs
« Respuesta #11 en: 19 de Agosto de 2013, 17:55:39 »
Yo iría con rs485

Saludos!

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: Comunicacion entre varios PICs
« Respuesta #12 en: 19 de Agosto de 2013, 19:39:56 »
Por lo que has descrito hasta ahora, parece que la red más adecuada sería una red lin:
http://www.ni.com/white-paper/9733/es/

Utiliza un maestro y muchos esclavos, velocidad relativamente lenta y hardware sencillo (se puede implementar con la uart).

Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: Comunicacion entre varios PICs
« Respuesta #13 en: 19 de Agosto de 2013, 20:01:46 »
Si lo quieres hacer más fácil aún, puedes conectar todas las patillas Rx y Tx a un mismo hilo y conectar todas las masas entre sí (sólo te hace falta un bus de dos hilos)

Las patillas Tx deben estar todas inactivas (en alta impedancia o configuradas como entradas) y unidas al hilo mediante una resistencia (por si acaso, para que no haya cortocircuitos).

El maestro comienza la transmisión activando su patilla Tx y enviando un dato a un esclavo. Después el maestro desactiva Tx y espera al esclavo. En ese momento el esclavo activa su patilla Tx y envía el dato. Por último el esclavo desactiva su patilla Tx y el ciclo puede volver a comenzar.
Es simple pero efectivo.

Saludos.
« Última modificación: 19 de Agosto de 2013, 20:04:13 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: Comunicacion entre varios PICs
« Respuesta #14 en: 19 de Agosto de 2013, 20:10:11 »
Para evitar el ruido eléctrico puedes poner una capacidad entre la patilla Rx y masa de cada uno de los pic.
También hay que llevar a positivo la línea conectando una resistencia de 1kohm a Vdd para evitar que quede al aire al desactivar todas las salidas Tx.

Por ejemplo 10 pics unidos de esta forma, con una resistencia en Tx de 100 ohms y capacidades en Rx de 1nF podrían soportar con facilidad velocidades de 115kbauds.

Saludos.