Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo de equipo
-USART
- EIA232
- EIA485
- Circuito de interconexión entre dos
arduinos con adaptadores 485
- Programas de aplicación de ejemplo
transmisor - receptor
MECATRÓNICA
Equipo 6:
ALUMNOS:
Croda Tejeda Sergio E15020996
Gutiérrez Simbrón Luis Enrique E15020185
Hernández Arroyo Erick Iván E17020334
Hernández Vega Alberto E15021030
Huerta Tiburcio Bogarth Enrique E15021035
Velazquez Segundo Rogelio Alfredo E17020320
CATEDRÁTICO
Cuenta con dos conexiones, RX y TX. Lo que nos indica los modos de comunicación
que puede manejar, Full-duplex, Duplex y Simplex. Además, podemos considerar
como su principal ventaja a la sencillez de su protocolo de comunicación.
Figura 4
Es importante saber que al momento de realizar la conexión para la comunicación
tipo USART se realiza una conexión cruzada, se conecta el TX de uno al RX del
otro y por el contrario (Figura 5) ya que por un pin que transmite no se puede recibir
datos.
Figura 5
Un bit de parada
Bits de datos (5,6,7,8 o 9 según la configuración)
Uno o dos bits de parada
Las ventanas pueden incluir bits de paridad para la detección y
corrección de errores
Estándar
El EIA una vez etiquetó todos sus estándares con el prefijo "RS" ( Estándar
Recomendado ), pero el EIA-TIA reemplazó oficialmente "RS" con "EIA / TIA" para
ayudar a identificar el origen de sus estándares. El EIA se ha disuelto oficialmente
y el estándar ahora es mantenido por el TIA como TIA-485, pero los ingenieros y las
guías de aplicaciones continúan usando la designación RS-485. La edición inicial
de EIA RS-485 fue fechada en abril de 1983.
RS-485 solo especifica las características eléctricas del generador y el receptor:
la capa física . No específica ni recomienda ningún protocolo de
comunicaciones ; Otros estándares definen los protocolos para la comunicación a
través de un enlace RS-485. El prólogo de las referencias estándar El Boletín de
Sistemas de Telecomunicaciones TSB-89 que contiene pautas de aplicación,
incluida la velocidad de señalización de datos frente a la longitud del cable, la
longitud del cable auxiliar y las configuraciones.
La Sección 4 define las características eléctricas del generador (transmisor o
controlador), receptor, transceptor y sistema. Estas características incluyen:
definición de una unidad de carga, rangos de voltaje, voltajes de circuito abierto,
umbrales y tolerancia transitoria. También define tres puntos de interfaz del
generador (líneas de señal); A, B y C. Los datos se transmiten en A y B. C es una
referencia de tierra. Esta sección también define los estados lógicos 1 (apagado) y
0 (encendido), por la polaridad entre los terminales A y B. Si A es negativo con
respecto a B, el estado es binario 1. La polaridad invertida (A +, B -) es binaria 0. El
estándar no asigna ninguna función lógica a los dos estados.
Arreglo maestro-esclavo
A menudo, en una disposición maestro-esclavo , cuando un dispositivo, el maestro,
inicia toda la actividad de comunicación, el dispositivo maestro proporciona el
sesgo. En esta configuración, el dispositivo maestro generalmente está ubicado
centralmente a lo largo del conjunto de cables RS-485, con dos dispositivos
esclavos ubicados en los extremos físicos de los cables que proporcionan
la terminación .
Operación full duplex
RS-485, como RS-422, se puede hacer full-duplex utilizando cuatro cables. Dado
que RS-485 es una especificación multipunto, sin embargo, esto no es necesario ni
deseable en muchos casos. RS-485 y RS-422 pueden interactuar con ciertas
restricciones.
Convertidores, repetidores y topología en estrella
Los convertidores entre RS-485 y RS-232 están disponibles para permitir que
una computadora personal se comunique con dispositivos remotos. Mediante el uso
de repetidores se pueden formar redes RS-485 muy grandes. TSB-89A, Pautas de
aplicación para TIA / EIA-485-A no recomienda el uso de topología en estrella.
Aplicaciones
Las señales RS-485 se utilizan en una amplia gama de sistemas informáticos y de
automatización. En un sistema informático, SCSI -2 y SCSI-3 pueden usar esta
especificación para implementar la capa física para la transmisión de datos entre un
controlador y una unidad de disco.
RS-485 se utiliza para comunicaciones de datos de baja velocidad en el bus de
vehículos de cabinas de aviones comerciales. Requiere un cableado mínimo y
puede compartir el cableado entre varios asientos, lo que reduce el peso.
Estos se utilizan en controladores lógicos programables y en fábricas. RS-485 se
utiliza como la capa física que subyace a muchos protocolos de automatización
estándar y patentados que se utilizan para implementar sistemas de control
industrial , incluidas las versiones más comunes de Modbus y Profibus . DH 485 es
un protocolo de comunicaciones patentado utilizado por Allen-Bradley en su línea
de unidades de control industrial. Utilizando una serie de dispositivos de interfaz
dedicados, permite que las PC y los controladores industriales se
comuniquen. Como es diferencial, resiste interferencias electromagnéticas de
motores y equipos de soldadura.
En salas de teatro y espectáculos, las redes RS-485 se utilizan para controlar la
iluminación y otros sistemas que utilizan el protocolo DMX512 . RS-485 sirve como
capa física para la interconexión de audio digital AES3 .
El RS-485 también se usa en la automatización de edificios, ya que el simple
cableado del bus y la larga longitud del cable son ideales para unir dispositivos
remotos. Puede usarse para controlar sistemas de videovigilancia o para
interconectar paneles y dispositivos de control de seguridad, como lectores de
tarjetas de control de acceso.
También se usa en el Control de Comando Digital (DCC) para ferrocarriles
modelo . La interfaz externa a la estación de comando DCC es a menudo RS-485
utilizada por controladores portátiles o para controlar el diseño en un entorno de PC
en red. Los conectores modulares 8P8C se utilizan en este caso.
Protocolos
RS-485 no define un protocolo de comunicación ; simplemente una interfaz
eléctrica. Aunque muchas aplicaciones usan niveles de señal RS-485, la velocidad,
el formato y el protocolo de transmisión de datos no están especificados por RS-
485. La interoperabilidad de dispositivos incluso similares de diferentes fabricantes
no está garantizada por el cumplimiento solo de los niveles de señal.
Señales
Además de las conexiones A y B, puede existir una tercera conexión opcional (el
estándar TIA requiere la presencia de una ruta de retorno común entre todos los
circuitos de tierra a lo largo de la línea balanceada para una operación
adecuada) llamada SC, G o referencia, la tierra de referencia de señal común
utilizada por el receptor mide los voltajes A y B. Esta conexión puede usarse para
limitar la señal de modo comúneso puede quedar impresionado en las entradas del
receptor. El voltaje de modo común permitido está en el rango de −7V a + 12V, es
decir, ± 7V en la parte superior del rango de señal de 0-5V. Si no se mantiene dentro
de este rango, se producirá, en el mejor de los casos, corrupción de la señal y, en
el peor, daños en los dispositivos conectados.
Se debe tener cuidado de que una conexión SC, especialmente en tramos largos
de cable, no resulte en un intento de conectar tierras dispares juntas; es aconsejable
agregar algo de limitación de corriente a la conexión SC. Las tierras entre edificios
pueden variar en un voltaje pequeño, pero con una impedancia muy baja y, por lo
tanto, la posibilidad de corrientes catastróficas, lo suficiente como para derretir
cables de señal, trazas de PCB y dispositivos transceptores.
RS-485 no especifica ningún conector o pinout. Los circuitos pueden terminarse
en terminales de tornillo , conectores D-subminiatura u otros tipos de conectores.
El estándar no trata el apantallamiento del cable, pero hace algunas
recomendaciones sobre los métodos preferidos para interconectar la referencia de
señal común y los motivos de la carcasa del equipo.
Conexión RS-485 de 3 hilos
Serial.begin(9600);
void loop()
byte angulo= map(lectura, 0, 1023, 0, 180); // escalamos la lectura a un valor de ángulo (entre 0 y 180)
delay(50);
#include <Servo.h>
void setup()
Serial.begin(9600);
void loop()
if (Serial.available()) {
}
Como se observa es una simple comunicación serial, en el Arduino transmisor se
hace la lectura del potenciómetro se lo escala y se lo envía serialmente, en el
receptor recibimos el dato y movemos el servomotor.
De esta forma podemos realizar una comunicación entre dos Arduino pero en una
sola dirección, para hacerlo en dos direcciones tenemos dos formas, half-duplex y
full-duplex.
void setup()
Serial.begin(9600);
void loop()
if(Serial.available())
//----------------------------
delay(50);
//------------------------------------------------
delay(50);
if(dato>500)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
#include <Servo.h>
void setup()
Serial.begin(9600);
void loop()
{
if(Serial.available()>0)
if(funcion=='S')
//---Si el carácter de función es L entonces el maestro está solicitando una lectura del
sensor
else if(funcion=='L')
//----enviamos la respuesta-----
//-----------------
delay(10);
}
Como se observa se ha establecido una trama para la comunicación:
[Inicio de trama][Función][Valor][Fin de trama]
En nuestro caso el inicio de trama es el carácter ‘A’ , la función es el carácter S o L
para indicar que vamos a mover el servo o solicitar una lectura del sensor, el [valor]
solo estará presente cuando la función necesite enviar una dato, y el fin de trama
que usamos es el carácter F. Unos ejemplos de esta trama serian:
“IS90F”,”IS120F”,”ILF”, etc.
El esclavo interpreta esta trama y realiza la función correspondiente, si es una
función que necesite responder, la trama de respuesta es:
[Inicio de trama][Valor][Fin de trama] , como por ejemplo “i865f”, “i64f”
void setup()
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(EnTxPin, OUTPUT);
digitalWrite(ledPin, LOW);
digitalWrite(EnTxPin, HIGH);
}
void loop()
//----------------------------
delay(50);
//----------fin de la respuesta-----------
if(dato>500)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
Código de Esclavo:
#include <Servo.h>
void setup()
Serial.begin(9600);
pinMode(EnTxPin, OUTPUT);
void loop()
if(Serial.available())
if(funcion=='S')
else if(funcion=='L')
delay(10);
}
Como se observa el código cada vez que vamos a escribir o leer datos activamos o
desactivamos respectivamente el pin que va conectado a DE y RE del módulo
RS485.
EL maestro siempre tiene activo la línea como transmisión pudiendo escribir en
cualquier momento, mientras que el esclavo siempre está en modo recepción,
escuchando los datos que le lleguen. Cuando el maestro necesite una respuesta
por parte del esclavo, después de enviar la consulta, debe cambiar a modo de
receptor para que el esclavo puede usar el canal para transmitir los datos, finalizado
la respuesta, el maestro nuevamente debe tener libre el canal para transmitir.
Programas de aplicación transmisor – receptor
Arduino: Comunicación inalámbrica con NRF24L01
La función de este artículo es ofrecer una explicación sobre cómo establecer una
comunicación inalámbrica entre dos placas Arduino usando el módulo transceptor
NRF24L01.
El módulo puede usar 125 canales diferentes, lo que da la posibilidad de tener una
red de 125 módems que funcionen con independencia uno de otro en un solo lugar.
Cada canal puede tener hasta 6 direcciones, es decir, cada unidad puede
comunicarse con hasta otras 6 unidades al mismo tiempo.
Una vez conectados los módulos NRF24L01 a las placas Arduino, llegará el
momento de escribir los programas para el transmisor, y para el receptor.
Conexionado para utilizar Arduinos Uno R3 en ambos lados de la
comunicación:
Una vez cargados ambos programas, podemos abrir el monitor serie en el Arduino
receptor y observaremos la aparición del mensaje «Hola Mundo» cada 1 segundo.
OTRO PROGRAMA EJEMPLO
Montaje 2: Conectar dos Arduinos
El proceso es parecido al bluetooth. Aquí queremos que una Arduino envíe
(MAESTRO) y que otra reciba (ESCLAVO), así que cada una correrá un programa
distinto.
Podemos hacer también que ambas tarjetas envíen y reciban datos, para ello, la
modificación sobre lo que expongo aquí serían muy sencillas, (básicamente copiar
y pegar los trozos de código intercambiados).
Conexiones:
Usaremos los pines estándar de comunicación serie de Arduino:
0 : RX (pin por el que RECIBE los datos serie)
1 : TX (pin por el que ENVÍA los datos serie)
Para comunicación en 2 direcciones: los 2 pueden enviar / recibir. Las conexiones
TX/RX se intercambian (lo que uno envía -TX- tiene que entrar en el otro -RX-).
Cualquiera de las 2 puede ser Maestro o Esclavo. IMPORTANTE: Conectar ambas
GND de las placas.
El código del esclavo es diferente. Lo primero que hay que destacar es que
tendremos un evento que se disparará cuando reciba un dato del dispositivo master.
La primera parte leerá un entero (int) y la segunda parte leerá un carácter (char).
Dependiendo de si el carácter es H o L pondrá en estado alto (H) o bajo (L).