Red rs485 de pic's

Mi objetivo es que los esclavos reporten datos de temp. En terminales remotos a medida que el
master(pc) los interroga con una dirección específica para cada uno.
Agradeceré cualquier ayuda.
Uso como transeivers ci 75176 y no se como manejar DE y RE en tiempo real
me interesaría de ser posible chatear con ud.

1 Respuesta

Respuesta
1
Perdona por haberme andado por las ramas en mi anterior respuesta.
En principio, la opción de puentear DE y RE es buena, siempre y cuando los controles vía un pin del microcontrolador.
A nivel del PC, es necesario que tengas en cuenta que el ci 75176, si no me falla la memoria, es un transceiver UART/RS485. Bajo ningún concepto deberías conectar este ci al puerto RS232 del PC. Este puerto trabaja a niveles detension muy diferentes de los admitidos por una UART de microcontrolador. Si haces esto, seguro que freirás el integrado. Recuerda utilizar un interfaz RS232/RS485 como los comercializados por tantas casas de electrónica. No conectes el puerto RS232 del PC al bus RS485, pues son tecnologías de comunicación totalmente diferentes. Si las conectas directamente, sin pasar por una pasarela RS232/RS485, te sera imposible direccionar las informaciones. Ademas, RS232 y RS485 usan impedancias de linea distintas, lo que puede ocasionar rebotes de los mensajes en el bus.
UTP CAT 5, el cable usado en redes Ethernet, va bien con RS485. En efecto, si usas cable telefónico convencional deshaces las ventajas de RS485 en materia de inmunidad al ruido y distancia de comunicación. Aun así, si es para distancias cortas, tu cable debería funcionar.
Recuerda que para distancias importantes es necesario conectar dos resistencias de unos 150 ohms, una en cada extremo del bus.
1-Wire, con el interfaz maestro adecuado, puede llegar a soportar 100 metros de bus y 100 esclavos. Dallas Semiconductor comercializa un interfaz bastante económico y facilita las librerías para trabajar con el. Embedded Data Systems es más fácil de utilizar per es algo más caro. Embedded Data Systems comercializa también pasarelas RS485/1-Wire y Ethernet/1-Wire. Con estas soluciones, 1-Wire pasa a no tener limites. Recuerda que con 1-Wire no estaríamos hablando ahora de configurar transceivers o configurar enables. Dime que pretendes hacer con los PICs y te diré si es posible hacer lo mismo con 1-Wire.
Hola Estratos, agradezco muchísimo tu interés en el diseño, pero hay parte de la película que
no te mostré, los terminales remotos deben realizar otras tareas ademas de reportar la temp.
Te cuento el estado del desarrollo utilizo como transeivers ci 75176, puedo hacer funcionar
la pc y un esclavo de manera half duplex,(envío un dato desde la pc a un puerto del pic y
separadamente el pic envía un dato a la pc) utilizando el mod, USART, pero no puedo hacer que
el esclavo reconozca su dirrec. Y responder en forma automática. No tengo bien claro como manejar las señales
DE y RE del 75176 en tiempo real. Pues en algunos casos la información rebota,
originando falsas capturas. Utilizo la señal RTS del rs232 de la pc para conmutar entre lectura
y escritura del puerto. ¿Esta bien conectar DE y RE puenteados a esta señal?
Por otra parte en el microcontr. También manejo lectura y escritura con un pin de salida conectado a
DE y RE puenteados, ¿esta bien?.
Otra duda estoy usando cable común(tipo telefónico) para conectar los transeivers se recomienda cable
par trenzado pero no lo conozco, ¿puede ser esto la causa de que el reg 7805 que alimenta los transeivers
caliente?.
OTRA consulta que distancia de trabajo soporta 1-wire.
Saludos. Hernán
Hola Estratos, gracias por la rapidez de tu respuesta, te cuento que para pasar de los niveles
rs 232 a ttl tengo conectado al puerto de la pc un max 232 y de allí me conecto al 75176 de la siguiente
forma:
Pc max232 75175
TD t2out-t2in D
RD r2in--r2out R
RTS r1in--r1out DE y RE
¿Qué te parece? ¿Crees qué algún así tenga rebotes por diferencia en las impedancias?
Estuve haciendo algunas pruebas, hice un prog. En el pic que cuenta hasta 9 enviando el contador
a la pc con una conexión como la que te conté, en la que conecte DE a vcc en el 75176 del micro y
RE a masa en el 75176 del max. y la comunic. Se realiza correctamente, lo único anormal es que el
regulador 7805 calienta bastante, ¿se te ocurre por que?, la distancia es menor a 1 m y tengo
conectadas resistencias de 470 ohms entre A y vcc y entre B y masa, entre A y B tengo una resist.
De 120 ohms.
Bueno ahora estoy experimentando el uso de RTS como señal de habilitación de lectura
escritura para DE y RE (puenteadas), por ahora no me funciona.
En cuanto a la misión del micro remoto consiste en visualizar en Lcd la temp. Actual y rango de
variación permitido del equipo controlado(freezer), seteado desde la pc, diparar una alarma por puerta
mal cerrada y en algún caso apagar el equipo.
Tengo como objetivo pasar a USB en el futuro.
¿Pregunta te perjudica si te envío directamente las pregunta a tu correo? ¿Podes chatear en hotmail?
Lamento la extensión de la pregunta, saludos Hernán. [email protected]
Es sencillo utilizar la USART de un PIC para comuncaciones RS485. Aun así, para tu aplicación, yo utilizaría otra tecnología de comunicación, como 1-Wire de Dallas Semiconductors. 1-Wire esta específicamente diseñada para trabajar en modo maestro-esclavo y es facilísima de implementar cuando se trata de captar señales digitales o analógicas remotamente a través de un PC. Con 1-Wire, te bastaría con un chip de tres patas para enviar la temperatura (el mismo chip capta la temperatura y funciona como esclavo con una dirección única) al maestro vía el bus 1-Wire. Te ahorrarías los microcontroladores y toda la electrónica asociada a ellos y a los sensores de temperatura.
Sin ir más lejos te diré que 1-Wire es la solución que suele adoptarse en estaciones metereologicas domesticas.
Si necesitas más información sobre 1-Wire, visita http://www.maxim-ic.com/1-Wire.cfm o continua con esta pregunta. Si aun así prefieres RS485, lo mejor es que acudas a la página www.microchip.com, donde encontraras un montón de tutoriales. Seguro que alguno de ellos te explica como utilizar una USART y las interrupciones para comunicar vía RS232 o RS485. Recuerda que DE es el Data Enable del puerto. Siempre que quieras enviar información tendrás que poner DE a "1". Si lo que haces es leer el puerto (pin R), inhabilita la escritura (pin DE a "0") y habilita la lectura (pin RE\ a "0"). En condiciones normales, el microcontrolador permanece en lectura y solo pasa a escritura cuando es necesario enviar información. Permaneciendo en lectura, activa la interrupción de buffer USART completo para avisar a la aplicación de que hay datos recién llegados del puerto. Acuérdate de direccionar correctamente la información entre nodos. ¿Ves? Todo esto no es necesario si acudes a 1-Wire. De hecho considero que usar RS-485 en modo maestro-esclavo y solo para captar temperatura es todo un desperdicio. Si se trata de un proyecto para la escuela, propón 1-Wire. Tu trabajo quedara reducido a la mitad, ya que no tendrás que preocuparte de programar los esclavos ya que estos (los chips) vienen programados para efectuar tareas de sensorizacion y actuación simples. Podrás así concentrarte en la aplicación PC que a bien seguro desarrollaras para captar todas las temperaturas. Créeme, vale mucho la pena.
Puedes escribirme a [email protected] si quieres.
Solo una observación: con tu interfaz PC lo único que haces es adaptar características eléctricas entre RS232 y RS485. Recuerda que al no tratarse de un interfaz inteligente (no contiene ningún micro) ni adaptado para la misión aque le encomiendas, los mensajes volcados sobre RS485 carecerán de dirección. Un avez más, y para no despistarte de tu aplicación, te recomiendo que utilices un interfaz RS232/RS485 comercial. Ganaras en tiempo y evitaras problemas.
En cuanto al calentamiento del regulador de tensión, ¿cuál es la tensión que aplicas a su entrada?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas