Professional Documents
Culture Documents
Este mdulo tiene acceso a todos los pines del max485 y tiene todos los
componentes adicionales para su correcto funcionamiento. Los pines A B se
pueden conectar tambin desde la bornera.
Las salidas A y B son por donde se envan los datos, B es la negacin de A,
se envan los mismos datos pero en la lnea B estn negados, de esta forma
se pueden restar ambas seales y eliminar el ruido y quedarnos solo con la
seal de datos. El encargado de esta transmisin diferencial es el max485.
Vindolo desde el microcontrolador o Arduino, la comunicacin se trabaja
como una comunicacin serial, trabajamos con los pines RX y TX; y
dependiendo del tipo de conexin se puede usar un pin ms para especificar
si estamos enviando o recibiendo datos.
e
El ejemplo solo se muestra para un esclavo pero para los otros esclavos las
conexiones son las mismas y en el cdigo solo hay que tener en cuenta las
direcciones de los esclavos.
La diferencia con los casos anteriores es en la trama para la comunicacin,
ahora es necesario enviar la direccin del esclavo, quedando la trama de la
siguiente forma:
[Inicio de trama][Direccin][Funcin][Valor][Fin de trama]
La direccin es un nmero entero e indica con cual esclavo nos queremos
comunicar. Ejemplos de esta trama serian: I101S90F,I25S120F,I223LF,
etc.
El esclavo interpreta esta trama y si coincide su direccin entonces realiza la
funcin correspondiente, si es una funcin que necesite responder, en la
trama de respuesta tambin agrega su direccin, esto para que el maestro
sepa que ha respondido el esclavo correspondiente. La trama de respuesta
es de la forma:
[Inicio de trama][Direccin] [, ] [Valor][Fin de trama]
En este caso entre la direccin y el valor enviamos una coma como
separador puesto que ambos son valores numricos, unos ejemplo de trama
serian: i101,865f, i26,64f
Cdigo del Maestro:
#include <Servo.h>
Servo myservo; // creamos el objeto servo
const int EnTxPin = 2; // HIGH:TX y LOW:RX
const int mydireccion =101; //Direccion del esclavo
void setup()
{
Serial.begin(9600);
Serial.setTimeout(100); //establecemos un tiempo de espera de 100ms
myservo.attach(9); // asignamos el pin 9 para el servo.
pinMode(EnTxPin, OUTPUT);
digitalWrite(EnTxPin, LOW); //RS485 como receptor
}
void loop()
{
if(Serial.available())
{
if(Serial.read()=='I') //Si recibimos el inicio de trama
{
int direccion=Serial.parseInt(); //recibimos la direccion
if(direccion==mydireccion) //Si direccion es la nuestra
{
char funcion=Serial.read(); //leemos el carcter de funcin
//---Si el carcter de funcin es una S entonces la trama es para mover el
motor----------if(funcion=='S')
{
int angulo=Serial.parseInt(); //recibimos el ngulo
if(Serial.read()=='F') //Si el fin de trama es el correcto
{
if(angulo<=180) //verificamos que sea un valor en el rango del servo
{
myservo.write(angulo); //movemos el servomotor al ngulo correspondiente.
}
}
}
//---Si el carcter de funcin es L entonces el maestro est solicitando una lectura
del sensor--else if(funcion=='L')
{
if(Serial.read()=='F') //Si el fin de trama es el correcto
{
int lectura = analogRead(0); //realizamos la lectura del sensor
digitalWrite(EnTxPin, HIGH); //rs485 como transmisor
Serial.print("i"); //inicio de trama
Serial.print(mydireccion); //direccion
Serial.print(",");
Serial.print(lectura); //valor del sensor
Serial.print("f"); //fin de trama
Serial.flush(); //Esperamos hasta que se enven los datos
digitalWrite(EnTxPin, LOW); //RS485 como receptor
}
}
}
}
}
delay(10);
}
la conexin de un
implementar una red.
mdulo
convertidor
RS232
RS422/485,
para
RS422
RS422 usa 4 seales y puede emplearse para comunicacin punto a punto o
multipunto. En su aplicacin ms simple, una computadora central se
comunica con una UTR empleando un protocolo master-slave, full dplex. La
electrnica del convertidor RS232-RS422 es muy simple porque solo se
emplean buffers trasmisores receptores del tipo 75176. Una conexin tpica
se muestra abajo. La computadora central se comunica con un convertidor
(K422) usando 5 de las seales de la norma RS232. El convertidor se
conecta al dispositivo remoto 422 usando 4 seales y la tierra.
En algunas aplicaciones, la norma RS422 puede emplearse en redes
"mulipunto", es decir, una computadora central comunicndose con varias
UTR. En este caso, pueden usarse dos tipos de protocolos de
comunicaciones:
1. El llamado protocolo "interrogacin-respuesta" o "polling" en el cual la
computadora enva mensajes que incluyen la direccin de la UTR a la cual
se enva el mensaje y solamente la UTR que reconoce su direccin
responder.
2. El protocolo del tipo "reporte espontneo" en al cual, la UTR inicia la
comunicacin y enva su bloque de datos, nicamente cuando ocurra un
evento. Por ejemplo, en el caso de un sistema de control de acceso, el
evento ocurre cuando se efecta el ingreso de una persona identificada.
En el modo multipunto, todas las UTR deben de poseer drivers del tipo
"tristate" en sus lneas RXA y RXB que permitan su virtual desconexin de
las lneas cuando no se encuentran trasmitiendo, para permitir el libre flujo
de la informacin sin interferencias.
RS485