X-NODE / XN11 - 2 Relevadores

El X-NODE 2 x Relay ( PE014005 ) es un módulo que integra 2 relevadores de potencia ideales para el control ON-OFF de dispositivos como alarmas, lámparas y calentadores, también se pueden utilizar para energizar bobinas de relés y contactores más grandes en esquemas industriales.

TABLA DE CONTENIDO

I. ¿Cómo funciona?

El módulo X-NODE 2 x Relay ( PE014005 ) posee un controlador en hardware integrado con el cual es posible interactuar con relevadores sin tener conocimientos avanzados de hardware, ya que solo es necesario enviar una serie de comandos en formato ASCII por medio del protocolo de comunicación serial UART o usando el protocolo I2C, esto permite que el X-NODE sea compatible con cualquier sistema basado en un microcontrolador, microprocesador o equipos industriales.

X-NODE 2 x Relay ( PE014005 ) es compatible con el estándar mikroBUS™ de Mikroe® para un uso fácil con un gran ecosistema de kits para desarrollo de hardware, también posee conectores JST compatibles con el estándar Qwiic® de SparkFun® para una comunicación entre diversos módulos y tarjetas de desarrollo por medio del protocolo I2C de manera rápida y sencilla.

II. Descripción del hardware

  1. Clemas de conexión a los contactos de salida de los relevadores PE014005 de TE Connectivity

  2. Indicadores LED de estado del relevador

  3. Conectores JST compatibles con Qwiic®

  4. Controlador en hardware

  5. Puertos de comunicación UART <> I2C

  6. Modelo de X-NODE

  7. Tipo de X-NODE

  8. Conectores estándar mikroBUS™

  9. Versión de hardware: R2

  10. Componente principal en el X-NODE

III. Especificaciones

Tipo

Relevador

Aplicaciones

Integración en proyectos de IoT que requieran el control ON / OFF en varios dispositivos de automatización del hogar como de alarmas, lámparas o calentadores, también se pueden utilizar para energizar bobinas de relés y conectores más grandes en esquemas industriales.

Módulo

PE014005

Fabricante

TE Connectivity

Características

Voltaje de bobina 5 VDC, una capacidad de conmutación nominal de 250 VAC a 5 A y una conmutación máxima de 400 VAC, resistencia de bobina de 125 Ω y resistencia dieléctrica de hasta 1000 Vrms.

Interfaz

UART, I2C

Compatibilidad

Estándar mikroBUS™ y estándar Qwiic®

Tamaño

65.1 x 25.4 x 22 mm

Voltaje

3.3 VDC y 5VDC

Para la información técnica completa, puedes descargar las especificaciones del fabricante en el siguiente link: Datos Técnicos

IV. Pinout

La siguiente tabla muestra el pinout del X-NODE 2 x Relay ( PE014005 ) con respecto al estándar mikroBUS™ (este último se encuentra en las dos columnas del centro).

V. Modo de uso

Para un uso fácil y rápido del X-NODE se puede hacer a través de los comandos en formato ASCII que proporciona el controlador en hardware integrado mediante una comunicación serial UART o de forma más avanzada a través del protocolo I2C.

Protocolo UART

Configuración

  • Velocidad de comunicación: 115,200 bps

  • Paridad: Ninguna

  • Bits de datos: 8

  • Bits de paro: 1

Sintaxis

El protocolo UART permite enviar instrucciones en texto plano ASCII, cada instrucción se compone del identificador del X-NODE, un comando y un final de línea.

Identificador

El identificador ID, se conforma por el modelo del X-NODE, que puede localizar en el punto 6 del apartado Descripción de hardware y se complementa con un índice, que puede ser una letra del abecedario, por defecto es la letra A, siendo posible configurarlo hasta la letra Z. Para poder conectar más de un módulo del mismo modelo en un sistema, deberá configurar un identificador único para cada módulo, brindando la posibilidad de conectar hasta 26 módulos del mismo modelo a través del protocolo UART.

XN04_X-NODE

Lista de comandos

XN11A?

Verifica si se estableció una comunicación con éxito. Respuesta: OK

XN11A+V

Obtiene la versión del firmware actual que integra el X-NODE. Respuesta: XN11A=Versión Ejemplo: XN11A=0.1

XN11A+ID=(A-Z)

Cambia el index del ID por una letra diferente del abecedario de la A a la Z, la nueva letra debe ser en mayúscula. Una vez modificado, para volver a cambiarlo es necesario colocar el ID con el nuevo index. Respuesta: OK Ejemplo de envío: XN11C+ID=H

XN11A+TW=(1-126)

Cambia la dirección I2C que viene de fábrica por uno diferente. La nueva dirección se escribe en decimal seleccionando un valor de 1 a 126. Respuesta: OK Ejemplo de envío: XN11A+TW=28

XN11A+S=(Relevador 2)(Relevador 1)

Cambia el estado de cada uno de los dos relevadores con dos opciones: 1 para activar y 0 para desactivar. Respuesta: OK Ejemplo de envío para accionar el relevador 2: XN11A+S=10 Ejemplo de envío para accionar el relevador 1 y 2: XN11A+S=11

XN11A+S1=(Relevador 1)

Cambia el estado del relevador 1 con dos opciones: 1 para activar y 0 para desactivar. Respuesta: OK Ejemplo de envío: XN11A+S1=1

XN11A+S2=(Relevador 2)

Cambia el estado del relevador 2 con dos opciones: 1 para activar y 0 para desactivar. Respuesta: OK Ejemplo de envío: XN11A+S2=1

Comandos avanzados

XN11A+ETW=(0-1)

Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo. Nota: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C. Respuesta: OK Ejemplo de envío: XN11A+ETW=0

XN11A+SLP

Habilita el modo de descanso profundo del dispositivo para reducir el consumo de energía, durante el descanso profundo el dispositivo no responderá a comandos UART, para despertar el dispositivo envíe un lógico bajo (0) al pin WAKEUP/UPDI Respuesta: OK Ejemplo de envío: XN11A+SLP

XN11A+RST

Reinicia el dispositivo, los valores no volátiles (ej. ID, dirección I2C) se conservarán y los valores volátiles volverán a su configuración por defecto. Respuesta: OK

Final de línea

El X-NODE solo responderá a un comando cuando se envíe un conjunto de caracteres finalizadores de línea, cada comando debe terminar con estos caracteres: <CR+LF>

  • CR significa retorno de carro (carriage return), este carácter se utiliza para indicar a un sistema que la entrada de texto debe moverse al principio.

  • LF significa alimentación de línea (line feed), este carácter le indica a un sistema que la entrada de texto corresponde a una nueva línea.

La combinación de ambos caracteres es una manera común con el que las computadoras representan una nueva línea, por ejemplo, en un procesador de texto para separar párrafos.

En el caso del X-NODE los caracteres <CR+LF>, se utilizan para identificar cuando se ha terminado de enviar un comando. Si el identificador corresponde al nodo, si el comando existe y si se finalizó inmediatamente con los caracteres <CR+LF>, entonces el nodo enviará una respuesta.

Dependiendo del sistema, deberá configurar el envío de estos caracteres de maneras diferentes.

Ejemplo UART Arduino Framework

Código de ejemplo para el XC01 - R5, revisa el manual para utilizar nuestro XC01 - R5 en Arduino IDE/PlatformIO

// Este ejemplo muestra el control de las salidas
// del X-NODE implementando un contador binario.

#include "Arduino.h"

void setup() {
  // Inicializa el monitor serial
  Serial.begin(115200);

  // Inicializa la comunicación UART en el puerto MikroBUS
  Serial2.begin(115200, SERIAL_8N1, 9, 10);
}

void loop() {
  String success;

  // Enciende el relevador 1
  Serial2.println( "XN11A+S=01" );
  success = Serial2.readStringUntil('\n');

  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
  
  // Enciende el relevador 2 y el relevador 1
  Serial2.println( "XN11A+S=11" );
  
  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
  
  // Enciende el relevador 2 y apaga el relevador 1
  Serial2.println( "XN11A+S=10" );
  
  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
  
  // Apaga el relevador 2 y el relevador 1
  Serial2.println( "XN11A+S=00" );
  
  // Verificar si la operación fue exitosa
  if ( !success.startsWith("OK") ) {
     Serial.println( "Error" );
     delay( 1000 );
     return;
  }
  delay(5000);
}

Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección I2C del X-NODE, el valor de fábrica se conforma por los dos últimos dígitos del modelo después de "XN". Las direcciones I2C suelen representarse en sistema hexadecimal, mientras que el modelo del X-NODE está en sistema decimal, asegúrese de utilizar el sistema numérico adecuado.

X-NODE XN01 MICROSIDE_02

Configuración

  • Velocidad de comunicación: 100 kHz

  • Address: 7 bits

Nota: Verifica que no cuentes con otro dispositivo con la misma dirección (Address) en el BUS I2C, de ser así recuerda que el X-NODE puede cambiar su dirección I2C con el comando XN11A+TW=(1-126).

Escritura de registros I2C

Para escribir en un registro del **X-NODE 2 x Relay ( PE014005 )** el maestro I2C debe generar las siguientes operaciones:

  1. Enviar una condición de inicio: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).

  2. Enviar la dirección del X-NODE: El maestro envía la dirección de 7 bits.

  3. Enviar el tipo de operación: El maestro indica si la operación es de lectura (0) o de escritura (1).

  4. Esperar una señal de reconocimiento (ACK): El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.

  5. Escribir n bytes de datos: El maestro escribirá en secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes que desea escrbir en el registro, el dispositivo enviará una señal de reconocimiento (ACK) por cada byte escrito.

  6. Enviar una condición de paro: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

Lectura de registros I2C

Para leer en un registro del **X-NODE 2 x Relay ( PE014005 )** el maestro I2C debe generar las siguientes operaciones:

  1. Enviar una condición de inicio: El maestro genera un lógico bajo (0) en el pin SDA, mientras SCL permanece en alto (1).

  2. Enviar la dirección del X-NODE: El maestro envía la dirección de 7 bits.

  3. Enviar el tipo de operación: El maestro indica si la operación es de lectura (0) o de escritura (1).

  4. Esperar una señal de reconocimiento (ACK): El maestro espera a recibir un lógico bajo (0), como confirmación (Acknowledgment) que exista un dispositivo con la dirección enviada previamente en el BUS I2C. Si no se recibe respuesta (1), significa que hubo un error en la comunicación o la dirección es incorrecta.

  5. Leer n bytes de datos: El dispositivo enviará secuencias de 8 bits (1 byte) y en orden del bit más significativo primero (MSB) n cantidad de bytes, al recibir un byte, el maestro deberá generar una señal de reconocimiento (ACK) para solicitar 1 byte más, o una señal de no reconocimiento (NACK) para indicar que ha finalizado la transmisión y solicitar el dispositivo que libere el BUS.

  6. Enviar una condición de paro: El maestro debe liberar el BUS I2C generando un lógico alto (1) en el pin SDA mientras que SCL se encuentra en un lógico alto (1).

Lista de registros

Registro
Dirección (hexadecimal)
Tipo
No. Bytes
Descripción

R1

0x01

R/W

1

Activa (0x01) o desactiva (0x00) el relevador R1.

R2

0x02

R/W

1

Activa (0x01) o desactiva (0x00) el relevador R2.

RELAYS

0x10

R/W

1

Cada bit representa un estado lógico de una salida, donde el bit 1 corresponde al estado de la salida R2, el bit 0 corresponde al estado de la salida R1.

STAT

0x37

R

1

Estado del XNODE, 0x00 si no hay errores, cualquier otro valor significa error en la comunicación.

FW

0x38

R

3

Versión de firmware, en versión mayor, menor y parche: 0x02.0x00.0x00

UART_ID

0x39

R/W - NV

1

Permite leer y escribir el índice del ID por una letra diferente del abecedario de la A (0x41) a la Z (0x5A)

TW_ADD

0x3A

R/W - NV

1

Permite leer y escribir la dirección I2C del dispositivo por uno diferente de 1 (0x01) a 126 (0x7D).

UART_EN

0x3B

W

1

Habilita (0x01) o deshabilita (0x00) la interfaz UART del dispositivo.

SLEEP

0x3C

W

1

Habilita (0x01) o deshabilita (0x00) el descanso profundo del dispositivo, el dispositivo despertará si el maestro escribe la dirección I2C del dispositivo en el BUS.

RESET

0x3D

W

1

Si se escribe un 0x01 reinicia el dispositivo.

WHO_AM_I

0x3E

R

2

El primer byte es el modelo del XNODE, el segundo byte es la revisión de hardware

Registros No volátiles (NV)

Los registros no volátiles se guardan en la memoria EEPROM del dispositivo, lo que significa que conservarán los valores escritos en ellos incluso si el dispositivo se apaga.

Estructura de los registros:

VI. Descargas

Última actualización

¿Te fue útil?