Autor Tema: PIC to PIC to PIC to PIC  (Leído 1590 veces)

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

Desconectado felipito

  • PIC10
  • *
  • Mensajes: 19
PIC to PIC to PIC to PIC
« en: 23 de Junio de 2006, 08:39:03 »
Saludo amigos del Foro.
Que sistema de comunicaciòn serial de los que utiliza el pic 16f877A es el màs conveniente para intercomunicar cuatro PIC 16f877A con una distancia promedio de 200 metros entre ellos, y que precauciones debo tener para que la comunicaciòn sea òptima ?
   Gracias por los comentarios.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: PIC to PIC to PIC to PIC
« Respuesta #1 en: 23 de Junio de 2006, 10:50:12 »
Hola!
Hay mucho "ruido" en esos 200 metros? Tal vez podrias usar un conversor RS-232/RS-485 (vienen en un solo chip, de Maxim), supongo que para esa distancia deberian andar 10 puntos.

Saludos
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: PIC to PIC to PIC to PIC
« Respuesta #2 en: 23 de Junio de 2006, 14:13:14 »
Saludo amigos del Foro.
Que sistema de comunicaciòn serial de los que utiliza el pic 16f877A es el màs conveniente para intercomunicar cuatro PIC 16f877A con una distancia promedio de 200 metros entre ellos, y que precauciones debo tener para que la comunicaciòn sea òptima ?
   Gracias por los comentarios.

Como te han dicho, el RS485 creo que es lo más fácil y fiable de implementar en primera instancia para la distancia que mencionas.

Integrados como el MAX485 o ds75176 convierten niveles TTL al bus RS485 diferencial y viceversa.

Tienes que tener en cuenta que el BUS485 es half duplex, esto lo deberás preveer en tu protocolo.  Cuando trasmites, no puedes recibir y viceversa.

Nunca hice algo a 200mts pero es probable que tengas que adaptar impedancia en el último tramo, con una resistencia.  Fijate esto en el datasheet del IC que uses para el 485.  Solo lo deberás poner en el último elemento de la red 485! Ojo con eso.  Si pones muchas resistencias estarías haciendo el paralelo de todas ellas y no adaptando impedancia.

Precauciones:

1) No uses un baudeaje alto: 9600 no probé a esa distancia pero si a 50mts y anduvo bien.  Prueba a 2400 y debiera funcionar siempre.

2) En tu protocolo ten en cuenta posibles retranmisiones si el receptor 'no responde' ya sea porque no le llegó la trama o porque le llegó mal. 

3) Ten en cuenta un posible 'timeout', es decir si el que hace de master no recibe respuesta pues bien, no dejes al mismo en un bucle infinito esperando respuesta, haz que haya un timeout

4) Usa algún sistema de detección de errores a nivel de protocolo, por ejemplo checksum o crc.  Esto permitirá al dispositivo que recibe el dato saber si la trama está correcta o no.

5) Necesitarás un address o dirección por software que irá en la trama.  Esto permite a cada pic saber que el paquete es para él o no .


Bueno todo eso es lo que se me ocurre ahora.


Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)


 

anything