Skip to Content

ARDBOX Relay ARDUINO based PLC

The ARDBOX Relay PLC, based on Arduino, is a compact solution for industrial automation.

It has 20 Inputs and Outputs.

It is easily programmed with the Arduino IDE.

Supports expansion via I2C.

Its modular design and easy integration make it ideal for scalable projects.

10x Inputs
8x Analog
2x Digital (1 with interruptions)

10x Outputs
8x Relay Outputs
2x Digital/PWM/Analog

Communications: RS485(HD), RS232, Serial TTL, SPI, I2C


139.00 € 139.00 €

  • # CPU Type #
  • #CPU Type#
  • # Device #
  • # Inputs #
  • # Outputs #
  • NO_CPU
  • # LoRa #
  • # GPRS #
  • # Wifi & Bluetooth LE #
  • Communication board 1
  • Communication board 2
  • Communication board 3
  • Price
  • RS485
  • RS232
  • Serial TTL
  • µSD Card Socket
  • Additional Communications
  • Choose your predefined Switch Configuration
# CPU Type #: Arduino
#CPU Type#: Arduino Leonardo
# Device #: PLC
# Inputs #: 1-10
# Outputs #: 1-10
NO_CPU: Arduino Leonardo
# LoRa #: Yes
# GPRS #: Yes
# Wifi & Bluetooth LE #: Yes
Communication board 1: No Additional Com. Board 1
Communication board 2: No Additional Com. Board 2
Communication board 3: No Additional Com. Board 3
Price: 100-200€
RS485: Yes
RS232: Yes
Serial TTL: Yes
µSD Card Socket: No
Additional Communications: No Additional Communications


DOCUMENTACIÓN DEL CONTROLADOR ARDUINO

PLC Arduino Ardbox Relay: 20 E/S con salidas digitales, analógicas y de relé

El Ardbox Relay es un PLC industrial compacto basado en el Arduino Leonardo. Ofrece 20 puntos de E/S: 6 entradas analógicas/digitales convertibles (0 a 10 Vdc), 4 entradas digitales aisladas, una de ellas con capacidad de interrupción, 2 salidas configurables digital/PWM/analógica y 8 salidas de relé. Se comunica mediante RS-485, RS-232, I2C y SPI, sin Ethernet integrado. Está pensado para proyectos de automatización pequeños y medianos donde el espacio es limitado pero la fiabilidad sigue siendo imprescindible.

Especificaciones técnicas

EspecificaciónValor
Número de referenciaIS.AB20REL.HF+
Total de E/S20
Arquitectura1 capa (ArdboxRLayer)
MicrocontroladorArduino Leonardo
Entradas10
Entradas analógicas/digitales convertibles (0 a 10 Vdc)6
Entradas digitales aisladas (5 a 24 Vdc)4
Entradas con capacidad de interrupción1
Salidas10
Salidas digital/PWM/analógica (0 a 10 Vdc)2
Salidas de relé8 (220 Vac, 5 A)
EthernetNo
Puertos RS-4852
Puertos RS-2321
Puertos Serial TTL / UART1
SPI
I2C
RTCNo
Ranura microSDNo
Alimentación12 a 24 Vdc
Consumo máximo3,57 W
MontajeCarril DIN
CertificacionesCE, RoHS

Aplicaciones: control de bombas, iluminación y automatización de pequeña escala

El Ardbox Relay es adecuado para proyectos que necesitan accionar bombas, motores, iluminación u otras cargas directamente, sin añadir módulos de relé externos. Los usos habituales incluyen estaciones de bombeo de agua, pequeñas instalaciones de climatización, control de iluminación y automatización industrial general.

Protocols: Modbus over RS-485, RS-232, I2C and SPI

La comunicación se realiza mediante RS-485 (2 puertos) y RS-232 (1 puerto) para Modbus y otros protocolos serie, con I2C y SPI disponibles para periféricos locales. La placa no incorpora Ethernet.

Programación: Arduino IDE con las librerías de Industrial Shields

Se programa mediante Arduino IDE con el paquete de placas industrialshields. Todas las E/S se referencian por nombre (I0_x, Q0_x, A0_x, R1 a R8).

Instalación inicial

Arduino IDE

Arduino IDE es la plataforma original para programar placas Arduino. Esta aplicación multiplataforma está disponible para Windows, macOS y Linux bajo la licencia GNU General Public License. Admite estructuración de código en C y C++. Industrial Shields ofrece un paquete de placas con las librerías y herramientas necesarias para los PLC Ardbox basados en Arduino Leonardo.

Recomendamos usar la Arduino IDE Legacy (2.3.X). Descárgala desde este enlace. Después de instalarla, añade el paquete de placas industrialshields siguiendo este tutorial y seleccionando industrialshields en el paso 6.

Alimentación

Los PLC basados en Ardbox necesitan alimentarse con una fuente externa de entre 12 y 24 Vdc. El puerto USB por sí solo no es suficiente.

  • Voltaje: 12 a 24 Vdc.

Interruptores DIP

El Ardbox Relay tiene dos zonas de interruptores.

Zona superior (TOP)

InterruptorONOFF
1RS (RS485)R8
2R8RS (RS485)
3RS (RS485)R7
4R7RS (RS485)

Zona derecha (RIGHT)

InterruptorONOFF
1 (NC)Sin conexiónSin conexión
2 (HD/FD)SemidúplexDúplex completo
3R5SCL
4I0.0SDA
1RE-RS485I0.4
2I0.4RE-RS485
3DE-RS485I0.5
4I0.5DE-RS485

Consumo

Corriente (mA)Potencia (W)
Reposo31,830,76
Carga completa1493,57

Entradas y salidas

Entradas analógicas

Las entradas convertibles aceptan de 0 a 10 Vdc con una resolución de 10 bits. Están aisladas y comparten la masa interna, por lo que pueden conectarse a una fuente de alimentación distinta de la línea principal de 24 Vdc.

Configuración de software

int IO2 = analogRead(I0_2);
int IO3 = analogRead(I0_3);
int IO4 = analogRead(I0_4);
int IO5 = analogRead(I0_5);
int IO6 = analogRead(I0_6);
int IO7 = analogRead(I0_7);

Entradas digitales

La tensión varía entre GND y Vcc, con solo dos estados: 0 (GND) y 1 (Vcc). Están aisladas y pueden conectarse a una fuente de alimentación distinta de la línea principal de 24 Vdc.

Configuración de software

if (digitalRead(I0_0) == HIGH) {
  // input active
}

Entradas de interrupción

Una interrupción asocia una función a un evento concreto. Cuando el evento se produce, el procesador abandona el flujo normal del programa y ejecuta esa función de inmediato.

El Ardbox Relay tiene una entrada con capacidad de interrupción, I0.0 (INT1, pin 2 del Arduino Leonardo). Funciona como una entrada digital normal cuando el interruptor está en la posición SDA.

Configuración de software

#define INTERRUPT I0_0
volatile bool state = false;

void setup() {
  pinMode(INTERRUPT, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(INTERRUPT), function_call_back, CHANGE);
}

void loop() {
  if (state == true) {
    Serial.println("Interrupt activated");
    state = false;
  }
}

void function_call_back() {
  state = true;
}

Salidas digital, PWM y analógica

Las 2 salidas configurables pueden funcionar como digital, PWM o analógica de 0 a 10 Vdc.

Configuración de software

digitalWrite(Q0_0, HIGH);
digitalWrite(Q0_1, LOW);
analogWrite(A0_0, 128);
analogWrite(A0_1, 200);

Salida de relé

Un relé es un interruptor electromagnético controlado por una señal eléctrica. Los relés de Industrial Shields ya están integrados en la placa y se pueden accionar directamente con digitalWrite. El Ardbox Relay tiene 8 salidas de relé (R1 a R8), con una capacidad de 220 Vac, 5 A, normalmente abiertas.

Configuración de software

digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
delay(500);
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);

Comunicaciones

RS-485

RS-485, también conocido como TIA-485(-A) o EIA-485, define las características eléctricas de los transmisores y receptores en sistemas de comunicación serie. La señalización es balanceada y admite sistemas multipunto. Comprueba la configuración de interruptores y puentes antes de usar este puerto.

Configuración de software

#include <RS485.h>

void setup() {
  Serial.begin(9600);
  RS485.begin(38400);
}

void loop() {
  if (Serial.available()) {
    byte tx = Serial.read();
    Serial.write(tx);
    RS485.write(tx);
  }
}

RS-232

RS-232, también conocido como TIA-232-F o EIA-232-F, es un estándar de transmisión de datos serie que define los niveles de tensión, la temporización de la señal y el protocolo de datos. Comprueba la configuración de interruptores y puentes antes de usar este puerto.

Configuración de software

#include <RS232.h>

void setup() {
  Serial.begin(9600);
  RS232.begin(38400);
}

void loop() {
  if (Serial.available()) {
    byte tx = Serial.read();
    Serial.write(tx);
    RS232.write(tx);
  }
}

I2C

I2C es un protocolo síncrono que utiliza tres cables: reloj (SCL), datos (SDA) y masa. El maestro genera la señal de reloj y direcciona cada dispositivo esclavo. La velocidad estándar es de 100 kbit/s, con un modo rápido de hasta 3,4 Mbit/s.

Configuración de software

#include <Wire.h>

void setup() {
  Wire.begin();
  Serial.begin(9600);
}

void loop() {
  for (byte address = 1; address < 127; address++) {
    Wire.beginTransmission(address);
    byte error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      Serial.println(address, HEX);
    }
  }
  delay(5000);
}

SPI

SPI es un protocolo de comunicación síncrono maestro esclavo. Los dispositivos esclavos no pueden iniciar una transferencia ni comunicarse entre ellos directamente. El maestro selecciona un esclavo mediante su pin SS.

Configuración de software

#include <SPI.h>

const int slaveSelectPin = 10;

void setup() {
  pinMode(slaveSelectPin, OUTPUT);
  SPI.begin();
}

void loop() {
  digitalWrite(slaveSelectPin, LOW);
  SPI.transfer(0x00);
  digitalWrite(slaveSelectPin, HIGH);
}

Funciones adicionales

Pines directos de Arduino

Si se necesita un puerto serie adicional, se pueden usar pines digitales para crear un puerto serie por software mediante la librería SoftwareSerial, a velocidades de hasta 115200 bps. Solo se pueden usar los pines de E/S de 5V de la placa Ardbox.

Pin ArdboxPin Arduino Leonardo
MISO14
MOSI16
SCK15

Señales de 5 Vdc

Estos pines pueden usarse según el comportamiento estándar de Arduino a 5V.

  • Pines I2C (SDA/SCL): con pull-up a 5V. Marcan 5V cuando no hay nada conectado.
  • SPI (MISO/MOSI/SCK): disponibles a 5V solo si no se usa Ethernet. Como esta placa no tiene Ethernet, están siempre disponibles.
  • Pin2/Pin3: corresponden a las entradas I0.5/I0.6, disponibles cuando el interruptor correspondiente está en OFF.