Autor Tema: ¿PIC en una red RS-485?  (Leído 3868 veces)

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

Desconectado YZ7REA

  • PIC10
  • *
  • Mensajes: 7
¿PIC en una red RS-485?
« en: 25 de Marzo de 2004, 00:48:00 »
Hola todos,

¿He buscado el foro para últimos temas con respecto a esto, pero vine hacia fuera con nada hago cualquier persona tengo cualquier experiencia con PicBasic favorable y el protocolo RS-485? Quisiera poder controlar los dispositivos auxiliares múltiples a partir del uno principal (comunicación bidireccional) así como pares de las unidades RS-232 sobre la red RS-485. He mirado MAX485/MAX491 y los mira está apenas a la derecha para el trabajo. ¿Ideas?
Gracias por adelantado.

--
Sincerest regards,

YZ7REA Vladimir M Skrbic
4N7ATV Repeater Administrator
YU7GHZ Radio Club President

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: ¿PIC en una red RS-485?
« Respuesta #1 en: 25 de Marzo de 2004, 07:41:00 »
Vladimir:
Ante todo te recomendaria que si puedes escribas la consulta en Ingles, porque tu traduccion al Español es practicamente ilegible.

Espero no te ofendas, entiendo tu esfuerzo, pero es posible que lo leamos en Ingles y luego te contestemos en Español.

El foro es en Español, pero podriamos hacer ese esfuerzo, dado el esfuerzo que tu has hecho para poder comunicarte.

En cuanto al uso de PicBasic y una red RS485 hay abundante informacion en el sitio de Parallax, con algunas adaptaciones puedes utilizarlas en Picbasic.

Tambien hay algo aqui en el subforo de lenguaje C, pero estara menos cerca de poder ser traducido a PicBasic.

Espero haberte sido util.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado YZ7REA

  • PIC10
  • *
  • Mensajes: 7
RE: ¿PIC en una red RS-485?
« Respuesta #2 en: 26 de Marzo de 2004, 01:07:00 »
Escrito originalmente por MGLSOFT
Vladimir:
Ante todo te recomendaria que si puedes escribas la consulta en Ingles, porque tu traduccion al Español es practicamente ilegible.

Espero no te ofendas, entiendo tu esfuerzo, pero es posible que lo leamos en Ingles y luego te contestemos en Español.

El foro es en Español, pero podriamos hacer ese esfuerzo, dado el esfuerzo que tu has hecho para poder comunicarte.

En cuanto al uso de PicBasic y una red RS485 hay abundante informacion en el sitio de Parallax, con algunas adaptaciones puedes utilizarlas en Picbasic.

Tambien hay algo aqui en el subforo de lenguaje C, pero estara menos cerca de poder ser traducido a PicBasic.

Espero haberte sido util.


Hehe!
Thank you for the reply. I understand
Spanish and do speak a little bit, but it"s
been 6 years since I last spoke Spanish
so I had to use Babelfish to translate
the text. Unfortunatelly it does a poor
job. What I"m trying to do here is make
a HAM repeater controller for ATV (Radio
Amateur TV). I need to send and receive
data to/from various RS-485 devices as
well to/from RS-232 devices (without
device ID) i.e. use RS-485 as a transport
media. So, I need advice on how to send
data trough MAX RS-485 driver to RS-485
devices with their own IDs and RS-232
devices that have no ID, respectively. An
example would be appreciated.

--
Sincerest regards,

YZ7REA Vladimir M Skrbic
4N7ATV Repeater Administrator
YU7GHZ Radio Club President

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: ¿PIC en una red RS-485?
« Respuesta #3 en: 26 de Marzo de 2004, 02:26:00 »
Hola Vladimir.

No tengo experiencia en redes RS485 pero como solicitas un ejemplo, te adjunto un link interesante, que ya fue posteado por SisPic el pasado 14 de Febrero.

Espero que te sirva

http://www.lvr.com/files/485net.zip

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: ¿PIC en una red RS-485?
« Respuesta #4 en: 27 de Marzo de 2004, 20:26:00 »
Hola Vladimir,

Usar una red RS485 es facil.

1.- Tenemos que tener la parte del hardware: el max conectado al PIC, te recomiendo PIC con USART. El max tiene dos partes el TX, RX y CONTROL en la parte del PIC. Y el terminal A, B y masa en la parte del BUS RS485. Este tipo de dispositivos se van conectando con un cable de tres hilos de un dispositivo a otro hasta el final. En el ultimo nodo toenes que conectar una resistencia de 120 OHM entre el terminal A y el B. Un Max 485 puede ser conectado con 32 nodos. Si necesitas mas nodos debes irte a un Max487 que tiene posibilidad de 128 nodos o a otro superior. En cuanto a hard no hay mas. es facil.

2.- Una vez tienes la capa fisica debes implementar un protocolo. Lo primero es que cada nodo debe tener una direccion (ID) esto puede ser un byte. Despues una serie de comando  con sus parametros. Debes fijar una velocidad de transmision. Al transmitir la informacion debes activar el pin de control para la transmision y el resto del tiempo lo pones en recepcion. Cuando tu transmites identificas con la direccion a quien va la informacion y este nodo te reportara un mensaje como que ha recibido bien o con una respuesta que tu requieras. Basicamente hay dos formas de enviar la info. La mas sencilla es por polling, el MASTER va preguntando a los nodos esclavos y estos van respondiendo. Es una forma ordenada, pero pierdes a veces eficacia del canal de transmision. Otra modalidad es el llamado multimaster en el que cualquier nodo puede transmitir en cualquier momento. En este modo hay que controlar que la linea este libre y transmitir, es mas dificil de controlar.

Es un bus muy robusto a los ruidos. Yo lo he usado para mas de 100 nodos a 9600 baudios y "va como un tiro" (va muy bien).

Espero que te sirva.

Saludos
Ricky
Madrid (Espa~a)

Desconectado YZ7REA

  • PIC10
  • *
  • Mensajes: 7
RE: ¿PIC en una red RS-485?
« Respuesta #5 en: 29 de Marzo de 2004, 03:55:00 »
Ricky,
gracias por la contestación y por la explicación de la conexión de red RS-485. ¿Usted tiene un ejemplo del protocolo de comunicación sobre RS-485 en PicBasic favorable? Encontré el Info sobre el protocolo de ModBUS en el Internet. ¿Usted utiliza algo similar?

--
Sincerest regards,

YZ7REA Vladimir M Skrbic
4N7ATV Repeater Administrator
YU7GHZ Radio Club President

Desconectado pacalaconcurso

  • PIC24F
  • *****
  • Mensajes: 718
RE: ¿PIC en una red RS-485?
« Respuesta #6 en: 30 de Marzo de 2004, 05:16:00 »
hola vladimir:
respecto a modbus lo tenemos implementado y funcionando con codigo fuente en C. tambien tengo unos ejemplos en vb.
el tema del 485 tampoco es nada complejo. incluso con unos simples convertidores 232 - 485 te funcionara perfectamente y tienes los esquemas en www.pacalaconcurso.com

73´s Félix EA7CCA, ED7VG member

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: ¿PIC en una red RS-485?
« Respuesta #7 en: 03 de Abril de 2004, 18:07:00 »
Hola Vladimir,

Los protocolos que he utilizado yo son muy simples pues apenas si transmito unos bytes de informacion de cada dispositivo. Yo uso

un byte de direccion/un byte de comando/varios bytes de estado/ un byte de checksum.

Cuando quiero transmitir una especie de fichero lo que hago es transmitir la direccion, el dispositvo me contesta con ACK (caracter 6), luego le mando un byte de identificacion el tipo de fichero, espero un ACK y luego transmito packetes de informacion de 50 o 60 bytes con un check y espero un ACK despues de cada paquete.

El modbus puede ser una buena implementacion.

Saludos
Ricky
Madrid (Espa~a)

Desconectado eca251

  • PIC10
  • *
  • Mensajes: 15
RE: ¿PIC en una red RS-485?
« Respuesta #8 en: 23 de Marzo de 2006, 20:49:00 »
Escrito originalmente por RGL
Hola Vladimir,

Usar una red RS485 es facil.

1.- Tenemos que tener la parte del hardware: el max conectado al PIC, te recomiendo PIC con USART. El max tiene dos partes el TX, RX y CONTROL en la parte del PIC. Y el terminal A, B y masa en la parte del BUS RS485. Este tipo de dispositivos se van conectando con un cable de tres hilos de un dispositivo a otro hasta el final. En el ultimo nodo toenes que conectar una resistencia de 120 OHM entre el terminal A y el B. Un Max 485 puede ser conectado con 32 nodos. Si necesitas mas nodos debes irte a un Max487 que tiene posibilidad de 128 nodos o a otro superior. En cuanto a hard no hay mas. es facil.

2.- Una vez tienes la capa fisica debes implementar un protocolo. Lo primero es que cada nodo debe tener una direccion (ID) esto puede ser un byte. Despues una serie de comando  con sus parametros. Debes fijar una velocidad de transmision. Al transmitir la informacion debes activar el pin de control para la transmision y el resto del tiempo lo pones en recepcion. Cuando tu transmites identificas con la direccion a quien va la informacion y este nodo te reportara un mensaje como que ha recibido bien o con una respuesta que tu requieras. Basicamente hay dos formas de enviar la info. La mas sencilla es por polling, el MASTER va preguntando a los nodos esclavos y estos van respondiendo. Es una forma ordenada, pero pierdes a veces eficacia del canal de transmision. Otra modalidad es el llamado multimaster en el que cualquier nodo puede transmitir en cualquier momento. En este modo hay que controlar que la linea este libre y transmitir, es mas dificil de controlar.

Es un bus muy robusto a los ruidos. Yo lo he usado para mas de 100 nodos a 9600 baudios y "va como un tiro" (va muy bien).

Espero que te sirva.

Saludos
Ricky
Madrid (Espa~a)

hola Ricky ;
sabes ojala puedas ayudarme segun he leido tus repuestas sabes mucho de la red 485 bueno yo tengo un proyecto q realizar ,este tarta de comunicacion de dos uC con mi pc ;es decir salgp por el púerto serial de mi pc me conecto a un interfase q convierte de 232 a485 y de alli a mis uC ,el detalle esta en q lso micro tienn puerto 232 y yo estoy en una red 485 ,¿necesito otro driver q convierta de 485 a232 nuevamente ?,el modo  de comunicacion q debo usra es  Half-Duplex la velocidad de transmicion es de 9600 baudios el progarma q debo relaizar debe estar en  C o C++(modo DOS),lo q no me dicen si debo usar lña resistencia de terminacion (a criterio mio creo q si ya q me reducira las reflexione sde las señales )
Otra cosita mas ,com haria mi programita para q este trasmita los datos a mis uC(el hardware delos uC ya los tengo) ya q estos trasmiten y reciben datos ,si tienes un programita algo similar q me sirva com gusi haber si me lo haces llegar y si no aun q sea la idea  te agradesco un monton de antemano ,te dejomi mail haber si me enivas informacion de esto ,mucha suerte  gracis de nuevo bye.mi mail eca251@hotmail.com