# X-NODE / XN30 - 2 x Entradas 4-20 mA

<figure><img src="/files/qYRsaWu5Nvm7nVILXIJ7" alt=""><figcaption></figcaption></figure>

El **X-NODE 2 x 4-20mA** **Inputs** es un módulo diseñado para la integración de sensores industriales que trabajen bajo un rango de 4 a 20 mA, ya sea de forma pasiva o activa. Integra un conector tipo clema de 6 pines que facilita la conexión con cables AWG de calibre 26 al 18. El uso de este X-NODE es de propósito general, ideal para medir señales en esquemas industriales como sensores de presión, temperatura, humedad, nivel, flujo, desplazamiento, posición y pH.

### **TABLA DE CONTENIDO**

1. [**¿Cómo funciona?**](#i.-como-funciona)
2. [**Descripción del hardware**](#ii.-descripcion-del-hardware)
3. [**Especificaciones**](#iii.-especificaciones)
4. [**Pinout**](#iv.-pinout)
5. [**Modo de uso**](#v.-modo-de-uso)
   * [**Protocolo UART**](#protocolo-uart)
   * [**Protocolo I2C**](#protocolo-i2c)
6. [**Descargas**](#vi.-descargas)
   * [**Esquemático**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdN6KKRWAlFaIIWER5LDL%2FESQUEM%C3%81TICO%20X-NODE%202%20x%204-20mA%20Inputs%20XN30.pdf?alt=media\&token=45b86910-e1c0-417f-ae6a-13a719cee728)
   * [**Dimensiones**](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzDBSIxidCCkgtLfxI9GZ%2FDIMENSIONES%20XN30%20-%202%20x%204-20mA%20Inputs.pdf?alt=media\&token=dc8d0184-d79f-4b0a-947f-c5dbb90bb647)

## **I. ¿Cómo funciona?**

El módulo **X-NODE 2 x 4-20mA** **Inputs** posee un controlador en hardware integrado con el cual es posible adquirir señales de sensores industriales 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 4-20mA** **Inputs** es compatible con el estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus) de [**Mikroe®**](https://www.mikroe.com/) 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®**](https://www.sparkfun.com/qwiic) de [**SparkFun®**](https://www.sparkfun.com/) 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**

<figure><img src="/files/PbSwe82THjI7NRSDEX6W" alt=""><figcaption></figcaption></figure>

1. Conector tipo clema de 6 pines para cables AWG de calibre 26 a 18
2. Selector de funcionamiento general: Activo <> Pasivo
3. Conectores JST compatibles con [**Qwiic®**](https://www.sparkfun.com/qwiic)
4. Controlador en hardware
5. Puertos de comunicación UART <> I2C
6. Modelo de X-NODE
7. Tipo de X-NODE
8. Jumpers de configuración: CFG1 > Forzar Pasivo en IN1, CFG2 > Forzar Pasivo en IN2
9. Conectores estándar [**mikroBUS™**](https://www.mikroe.com/mikrobus)
10. Versión de hardware: R1
11. Característica principal en el X-NODE

## **III. Especificaciones**

<table data-header-hidden><thead><tr><th width="171"></th><th></th></tr></thead><tbody><tr><td><strong>Tipo</strong></td><td>Entradas de 4 a 20 mA</td></tr><tr><td><strong>Aplicaciones</strong></td><td>Integración en proyectos industriales y de IoT con uso de propósito general. Ideal para lectura de señales de 4 hasta 20 mA como sensores de presión, temperatura, humedad, nivel, flujo, desplazamiento, posición y pH.</td></tr><tr><td><strong>Características</strong></td><td>Conector tipo clema de 6 pines compatible con cables AWG de calibre 26 a 18. Operación de trabajo en un rango de temperatura de 0 hasta 80 °C.</td></tr><tr><td><strong>Interfaz</strong></td><td>UART, I2C</td></tr><tr><td><strong>Compatibilidad</strong></td><td>Estándar <a href="https://www.mikroe.com/mikrobus">mikroBUS™</a> y estándar <a href="https://www.sparkfun.com/qwiic">Qwiic®</a> </td></tr><tr><td><strong>Tamaño</strong></td><td>65 x 25.4 x 22 mm</td></tr><tr><td><strong>Voltaje</strong> </td><td>3.3 V</td></tr></tbody></table>

## **IV. Pinout**

La siguiente tabla muestra el pinout del **X-NODE 2 x 4-20mA** **Inputs** con respecto al estándar  [**mikroBUS™**](https://www.mikroe.com/mikrobus) (este último se encuentra en las dos columnas del centro).

<figure><img src="/files/7HcICuWHn2fvqlwQJ7t9" alt=""><figcaption></figcaption></figure>

## **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

Para poder establecer comunicación con el X-NODE se debe conocer el **ID**, éste se conforma por el **modelo** que se localiza en el punto 6 del apartado “Descripción de hardware”, con la clave “XN30” y se complementa con un **index** que por defecto es la letra “A“, siendo posible configurarlo hasta la letra Z del abecedario, brindando la posibilidad de conectar hasta 10 módulos del mismo tipo.

<figure><img src="/files/Mvu07KXTUA1Nm2FAPW9f" alt="XN04_X-NODE"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 115,200 bps
* Paridad: Ninguna
* Bits de datos: 8
* Bits de paro: 1

### Lista de comandos

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN30A?&#x3C;CR+LF></strong></td><td><p>Verifica si se estableció una comunicación con éxito.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+V&#x3C;CR+LF></strong></td><td><p>Obtiene la versión del firmware actual que integra el X-NODE.</p><p></p><p><strong>Respuesta:</strong> XN30A=Versión&#x3C;CR+LF></p><p>        <strong>Ejemplo:</strong> XN30A=0.1.0&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN30A+ID=</strong></p><p><strong>(A-Z)&#x3C;CR+LF></strong></p></td><td><p>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.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30C+ID=H&#x3C;CR+LF></p></td><td></td></tr><tr><td><p><strong>XN30A+TW=</strong></p><p><strong>(1-126)&#x3C;CR+LF></strong></p></td><td><p>Cambia el address I2C que viene de fábrica por uno diferente. El nuevo address se escribe en decimal seleccionando un valor de 1 a 126.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+TW=28&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+G(1-2)&#x3C;CR+LF></strong></td><td><p>Obtiene el estado del canal de corriente 1 o 2. Retorna el valor en µA (microamperios).</p><p></p><p><strong>Respuesta:</strong> XN30A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+G2&#x3C;CR+LF> <br>       <strong>Ejemplo de respuesta:</strong> XN30A=4000&#x3C;CR+LF></p></td><td></td></tr></tbody></table>

### Comandos avanzados

<table data-header-hidden data-full-width="false"><thead><tr><th width="214"></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td><strong>XN30A+ETW=(0-1)&#x3C;CR+LF></strong></td><td><p>Habilita (1) o deshabilita (0) la interfaz I2C del dispositivo.</p><p></p><p><strong>Nota</strong>: Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz I2C.</p><p></p><p><strong>Respuesta</strong>: OK&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+ETW=0&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+RST&#x3C;CR+LF></strong></td><td><p>Reinicia el dispositivo, los valores no volátiles (ej. ID, address I2C) se conservarán y los valores volátiles volverán a su configuración por defecto.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+A(1-2)&#x3C;CR+LF></strong></td><td><p>Obtiene el valor del I2C del canal de corriente 1 o 2, la resolución es de 12 bits (0-4095). Este valor es útil durante el proceso de calibración del dispositivo.</p><p></p><p><strong>Respuesta:</strong> XN30A=VAL&#x3C;CR+LF></p><p>       <strong>Ejemplo de envío:</strong> XN30A+A1&#x3C;CR+LF></p><p>       <strong>Ejemplo de respuesta:</strong> XN30A=4095&#x3C;CR+LF></p></td><td></td></tr><tr><td><strong>XN30A+C(1-2)=(ADC_H),(C_H),(ADC_L),(C_L)&#x3C;CR+LF></strong></td><td><p>Calibra el canal de corriente 1 o 2 (no volátil). <br>Los parámetros son:</p><ol><li>ADC_H: El valor del ADC cuando la corriente es igual a C_H.</li><li>C_H: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser mayor a C_L.</li><li>ADC_L: El valor del ADC cuando la corriente es igual a C_L.</li><li>C_L: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser menor a C_H.</li></ol><p>Consulte la sección de calibración del dispositivo para obtener más información.</p><p></p><p><strong>Respuesta:</strong> OK&#x3C;CR+LF><br>       <strong>Ejemplo de envío:</strong> XN30A+C2=3500,20000,500,4000&#x3C;CR+LF></p><p><strong>*</strong>Calibra el canal 2, cuando la corriente es de 20 mA el valor del ADC es 3500, cuando la corriente es de 4 mA el valor del ADC es de 500.</p></td><td></td></tr></tbody></table>

## Protocolo I2C

Para poder establecer comunicación se debe conocer la dirección (address) del X-NODE, este se conforma por los dos últimos dígitos del modelo después de “XN”, el cual es necesario convertirlo a formato hexadecimal.

<figure><img src="/files/8uhiJsWdT1mUCmfF8u2u" alt="X-NODE XN01 MICROSIDE_02"><figcaption></figcaption></figure>

#### Configuración

* Velocidad de comunicación: 100 kHz
* Address: 7 bits

{% hint style="warning" %}
**Nota:** Verifica que no cuentes con otro dispositivo con la misma dirección (Address), si es así es necesario cambiarla.
{% endhint %}

### Canales del ADC y Canal de corriente

#### **Escritura:**

<figure><img src="/files/8Tw8u0mxEzWssWZVbbPO" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x01: ADC del canal 1
* 0x02: ADC del canal 2
* 0x03: Valor de corriente del canal 1
* 0x04: Valor de corriente del canal 2

#### **Lectura:**

<figure><img src="/files/zcSmouweB8xnjxrquTdU" alt=""><figcaption></figcaption></figure>

***

### Calibración de los canales de corriente

#### Escritura:

<figure><img src="/files/8VDPeNJcu9TKYIYIEwRU" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x05: Canal 1
* 0x06: Canal 2

**Parámetros:**

1. ADC\_H: El valor del ADC cuando la corriente es igual a C\_H.
2. C\_H: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser mayor a C\_L.
3. ADC\_L: El valor del ADC cuando la corriente es igual a C\_L.
4. C\_L: El valor de corriente obtenido de un instrumento calibrado (en µA), este valor debe ser menor a C\_H.

{% hint style="info" %}
Consulta la sección ***Calibración del dispositivo*** para obtener más información.
{% endhint %}

***

### Estado de la calibración del canal de corriente

#### Escritura:

<figure><img src="/files/8Tw8u0mxEzWssWZVbbPO" alt="" width="563"><figcaption></figcaption></figure>

**Registros:**

* 0x05: Estado de la calibración del canal de corriente 1
* 0x06: Estado de la calibración del canal de corriente 2

#### Lectura:

<figure><img src="/files/rLcbZWevorI4cNmNFIfK" alt="" width="563"><figcaption></figcaption></figure>

* 0x00: El canal se encuentra calibrado
* 0x01: El canal se encuentra en proceso de calibración
* 0x02:  El canal no se pudo calibrar debido a un error en los parámetros.

{% hint style="info" %}
Consulta la sección ***Calibración del dispositivo*** para obtener más información.
{% endhint %}

***

### Comandos avanzados

### Estado de la interfaz de comunicación I2C

#### Escritura:

<figure><img src="/files/1iMuI6u4i1EfUxofSmp9" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/O5XBWEyaOS65eXZ0peTb" alt="" width="563"><figcaption></figcaption></figure>

* 0x01: La interfaz I2C funciona correctamente
* Cualquier otro valor: La interfaz I2C encontró un problema y ha dejado de funcionar.

***

### Versión del firmware

#### Escritura:

<figure><img src="/files/qXMe3SZHgF3Ts3fqqGmD" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/crm7mnPEQ3g3LgGxXK5m" alt="" width="563"><figcaption></figcaption></figure>

Versión del firmware en formato: ***Versión Mayor . Versión Menor . Parche***

Ejemplo:  0x00.0x01.0x00 es la versión ***0.1.0.***

***

### Cambiar ID (protocolo UART)

#### Escritura:

<figure><img src="/files/NyfpOTBnDKhANjRg6kby" alt=""><figcaption></figcaption></figure>

***

### Leer ID (protocolo UART)

#### Escritura:

<figure><img src="/files/y2Y4zMfb1lmsXx9e3NNu" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/foNanohqes1JzGiMWGBw" alt="" width="563"><figcaption></figcaption></figure>

***

### Cambiar dirección TW (protocolo I2C)

#### Escritura:

<figure><img src="/files/2mnECKEBpA67A83VCou3" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Nota: Para aplicar el cambio se requiere reiniciar el dispositivo.
{% endhint %}

***

### Habilitar/Deshabilitar la interfaz UART

#### Escritura:

<figure><img src="/files/KuzQ4NCL8AkemRDV4bh8" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
**Nota:** Esta configuración es volátil, desconectar el dispositivo del suministro de energía o enviar el comando de reinicio restaurará la interfaz UART.
{% endhint %}

***

### Reiniciar el dispositivo

#### Escritura:

<figure><img src="/files/DLNpv9yZnPR1ODw7UBHx" alt=""><figcaption></figcaption></figure>

RS: Confirmar reinicio del dispositivo (0x01).

***

### Consultar modelo de X-NODE

#### Escritura:

<figure><img src="/files/W5D8PuUyJpgay30cA4Ro" alt="" width="563"><figcaption></figcaption></figure>

#### Lectura:

<figure><img src="/files/thPn4akmXloCHkne709E" alt="" width="563"><figcaption></figcaption></figure>

Modelo: 30 (0x1E).

***

### Calibración del dispositivo

Cada canal de medición de corriente puede calibrarse de manera independiente, este mecanismo permite corregir la desviación entre el **X-NODE 2 x 4-20mA** **Inputs** y un instrumento de medición calibrado.&#x20;

El proceso de calibración requiere de un dispositivo que pueda generar una referencia de corriente variable con un rango de 4 a 20 mA por lo menos, un instrumento de medición calibrado, un dispositivo que pueda enviar y recibir comandos a través del socket [**mikroBUS™**](https://www.mikroe.com/mikrobus) y el **X-NODE 2 x 4-20mA** **Inputs**.

El proceso de calibración es el siguiente:

1. Coloca el interruptor del **X-NODE 2 x 4-20mA** **Inputs** en la posición ***PAS*** si su referencia de corriente requiere alimentación o ***ACT*** si su referencia de corriente ya está alimentada.
2. Conecta el instrumento de medición en serie con el canal del **X-NODE 2 x 4-20mA** **Inputs** que se requiere calibrar, asegúrate que la polaridad sea la correcta.
3. Configura la referencia de corriente con una salida cercana a 20 mA.
4. Envía el comando para obtener el valor ADC del canal que se está calibrando en el **X-NODE 2 x 4-20mA** **Inputs**, guarda este valor junto al valor que arroja el instrumento de medición calibrado.
5. Configura la referencia de corriente con una salida cercana a 4 mA.
6. Repite el paso 4.
7. Convierte ambos valores arrojados por el instrumento de medición calibrado a µA.
8. Envía el comando de calibración conforme a los siguientes parámetros:\
   **A)** ADC\_H: el valor del ADC que arrojó el **X-NODE 2 x 4-20mA** **Inputs** cuando la referencia era cercana a 20 mA.\
   **B)** C\_H: el valor que arrojó el instrumento de medición calibrado en µA cuando la referencia era cercana a 20 mA.\
   **C)** ADC\_L: el valor del ADC que arrojó el **X-NODE 2 x 4-20mA** **Inputs** cuando la referencia era cercana a 4 mA.\
   **D)** C\_L: el valor que arrojó el instrumento de medición calibrado en µA cuando la referencia era cercana a 4 mA.
9. Configura la referencia de corriente con un valor entre 4 y 20 mA.
10. Envía el comando para obtener el valor de corriente del canal que se está calibrando. Compara el resultado contra el valor que arroja el instrumento de medición calibrado.
11. Si el resultado no es satisfactorio realiza nuevamente el procedimiento desde el paso 3.

{% hint style="success" %}
**Nota:** Para obtener mejores resultados, utiliza una fuente de corriente variable con bajo ruido eléctrico.
{% endhint %}

## **VI. Descargas**

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>Esquemático</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdN6KKRWAlFaIIWER5LDL%2FESQUEM%C3%81TICO%20X-NODE%202%20x%204-20mA%20Inputs%20XN30.pdf?alt=media&#x26;token=45b86910-e1c0-417f-ae6a-13a719cee728">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FdN6KKRWAlFaIIWER5LDL%2FESQUEM%C3%81TICO%20X-NODE%202%20x%204-20mA%20Inputs%20XN30.pdf?alt=media&#x26;token=45b86910-e1c0-417f-ae6a-13a719cee728</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzDBSIxidCCkgtLfxI9GZ%2FDIMENSIONES%20XN30%20-%202%20x%204-20mA%20Inputs.pdf?alt=media&#x26;token=dc8d0184-d79f-4b0a-947f-c5dbb90bb647">https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FzDBSIxidCCkgtLfxI9GZ%2FDIMENSIONES%20XN30%20-%202%20x%204-20mA%20Inputs.pdf?alt=media&#x26;token=dc8d0184-d79f-4b0a-947f-c5dbb90bb647</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.microside.com/plataforma-xide-iot/x-nodes/x-node-xn30-2-x-entradas-4-20-ma.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
