Go Down

Topic: AYUDA ENMASCARAMIENTO DE PROTOCOLO CON ARDUINO (Read 1 time) previous topic - next topic

davidlexu

Muy buenas, llevo poco jugueteando con ARDUINO, y me apasiona.

Trabajo progamando sistemas de control basados en PLC y resulta que hace unos dias me surgió un problema.
Resulta que tengo que controlar dos bombas de dosificación y un motor paso a paso servoposicionado desde el puerto de comunicacion RS-232 del PLC.
Me debo comunicacar con los 3 escribiendo la trama correspondiente en ASCII para cada uno de ellos, y tengo el problema de que por motivos de similitud entre los protocolos, al enviar la trama en la que especifico la posicion al motor, paro las bombas involuntariamente.

Disculpad si no me expreso con mucha claridad.


El tema es que me gustaria saber si por medio de un ARDUINO MEGA (consta de varios pines TX y RX), cabria la posibilidad de realizar un enmascaramiento de estos protocolos en el PLC, de forma que al recibirlos el ARDUINO, este se encargue de transmitirlos por dos puertos independientes.

Me gustaria saber si esto es posible y si alguien fuese tan amable y supiera algo al respecto, me pudiese enviar algun tipo de documentación.

Muchísimas gracias

jorgepl

Tendrías que añadir un dato más (puerto serie al que envías) a la trama que sería el que analizase la placa de arduino para  saber a que dispositivo se lo estás enviando, algo así como la dirección del puerto serie.

Por lo demás, parece bastante sencillo, incluso podrías realizarlo con un arduino UNO y la librería SoftwareSerial.h

davidlexu

Muchísimas gracias Jorgepl.

Este fin de semana me pondré a ver que consigo hacer :).

Por lo que he visto el arduino uno solo cuenta con un pin TX y RX no? o se pueden configurar los pines digitales como estos?? en cualquier caso voy a hacer la prueba con mi arduino mega.

Ya contaré que tal ha ido la cosa, y si funciona publicaré el código.

flico

Quote
Por lo que he visto el arduino uno solo cuenta con un pin TX y RX no? o se pueden configurar los pines digitales como estos?? en cualquier caso voy a hacer la prueba con mi arduino mega.


Como bien dice @jorgepl usando la libreria SoftwareSerial puedes configurar mas pines digitales como puertos seriales. Recuerda que si quieres conectarlo algun puerto RS232 necesitas adaptar los niveles usando un MAX232 por ejemplo.

http://arduino.cc/es/Reference/SoftwareSerial
Trabajando en ...

    * Control Domotico (En montaje ...)
    http://casitadomotica.blogspot.com/
 

[url=https://bitbucket.org/fmalpartida

davidlexu


Quote
Por lo que he visto el arduino uno solo cuenta con un pin TX y RX no? o se pueden configurar los pines digitales como estos?? en cualquier caso voy a hacer la prueba con mi arduino mega.


Como bien dice @jorgepl usando la libreria SoftwareSerial puedes configurar mas pines digitales como puertos seriales. Recuerda que si quieres conectarlo algun puerto RS232 necesitas adaptar los niveles usando un MAX232 por ejemplo.

http://arduino.cc/es/Reference/SoftwareSerial


Eso lo tendria que hacer tambien con arduino MEGA??? Esque es el que tengo ahora mismo y me gustaria hacer las pruebas este fin de semana, y no comprendo bien lo del MAX232

Muchisimas gracias por vuestra ayuda

jorgepl


Eso lo tendria que hacer tambien con arduino MEGA??? Esque es el que tengo ahora mismo y me gustaria hacer las pruebas este fin de semana, y no comprendo bien lo del MAX232


El bus RS-232 utiliza niveles de señal de +-12V, mientras que la señal de salida del micro es de 0-5V (nivel TTL). Los conversores de nivel MAX232 hacen esa transformación de la señal, para que el micro pueda comunicarse por RS-232. Si conectas directamente el micro a un puerto RS-232, quemarás las entradas.

Para más información....
http://es.wikipedia.org/wiki/Max232

davidlexu

Muchísimas gracias por vuestra ayuda,

Me he montado el circuito en una placa prototipo y parece que funciona, en cuanto depure programa lo publicaré.
Ya contaré cuando lo pruebe con los equipos.

Mucas gracias y un saludo.

Go Up