Detalles Técnicos

PLC Arduino 10 I/O's Relay Module - CPU Arduino NANO

 VOLVER AL PRODUCTO

Instalación Inicial

ARDUINO IDE

Industrial Arduino IDE es la plataforma original para programar placas Arduino. Esta aplicación multiplataforma está disponible en Windows, macOS y Linux y bajo la Licencia Pública General GNU. Arduino IDE admite la estructuración de código C y C ++.Industrial Shields recommend using Arduino automation IDE to program Arduino Based PLC controllers, but any Arduino compatible software are compatible with Industrial Shields Controllers.

Aparte de eso, Industrial Shields brinda la posibilidad de seleccionar su PLC industrial basado en Arduino en su IDE de Arduino y compilar sus bocetos para los diferentes PLC.

Descargue el IDE de Arduino 1.8.6:

Instale unidades de Industrial Shields en Arduino IDE:

Entradas y Salidas

ANALOG INPUTS

La variación de voltaje entre –Vcc (o GND) y + Vcc, puede tomar cualquier valor. Una entrada analógica proporciona una medición codificada en forma de valor digital con un número de N bits. En E / S Digital y Analógica existe autoaislamiento, por lo que es posible conectarlos en una fuente de alimentación diferente de 24 V.

Entradas: (6x) de 10x, analógica (0-10Vdc) configurable por software.


TYPICAL CONNECTION


ENTRADAS DIGITALES

Variación de tensión de –Vcc (o GND) a + Vcc, sin valores intermedios. Dos estados: 0 (-Vcc o GND) y 1 (+ Vcc). En las E / S digitales y analógicas hay autoaislamiento, por lo que es posible conectarlas a una fuente de alimentación diferente a la de 24 V.

Entradas: (10x) Digital (5-24Vdc). 

TYPICAL CONNECTION


- Entrada digital aislada


 

 - Entrada digital sin aislamiento

ENTRADAS DE INTERRUPCIÓN

Interrumpir la rutina del servicio. Mecanismo que permite asociar una función con la ocurrencia de un evento en particular. Cuando el evento ocurre, el procesador sale inmediatamente del flujo normal del programa y ejecuta la función ISR asociada ignorando cualquier otra tarea. 


Entradas: (1x) Entradas de interrupción (5-24Vdc). “Puede funcionar como entrada digital (24Vdc)”.

Ardbox Pin Arduino Leornardo Pin Switch
I0.0 (INT0) 2 SDA-D2/I0.0 at OFF Position


TYPICAL CONNECTION


EXAMPLE

En este ejemplo activamos INT0 usando el pin I0_0 de la placa M-duino. Cuando hay un cambio  

#define INTERRUPT I0_0 //I0_3, I0_2, I0_1, I0_0 (Ardbox)

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(){ //Change led state
  state = true;
}

Comunicaciones

Serial TTL

No hay TTL de serie de hardware, pero puede hacerlo mediante software utilizando la biblioteca SoftwareSerial.h como se explica Parte de serie de software de Funciones especiales

 

I2C

I2C es un protocolo sincrónico. Solo utiliza 2 cables, uno para el reloj (SCL) y otro para los datos (SDA). Esto significa que el maestro y el esclavo envían datos a través del mismo cable, que es controlado por el maestro, quien crea la señal de reloj. I2C no utiliza la selección de esclavos, sino el direccionamiento.

I2C es un bus de comunicaciones en serie. La velocidad es de 100 kbit / s en modo estándar, pero también permite velocidades de 3,4 Mbit / s. Es un bus muy utilizado en la industria, principalmente para comunicar microcontroladores y sus periféricos en sistemas integrados y generalizando más para comunicar circuitos integrados entre sí que normalmente residen en un mismo circuito impreso.


Hardware

IMPORTANTE: Asegúrese de que su PLC Ethernet esté alimentado (12-24 V CC). 

Configuración del interruptor

Para lograr la comunicación I2C, debe conectar en OFF los interruptores SDA-d2 / I0.0 y SCL-D3 / Q0.6 del interruptor ZONA IZQUIERDA.

Used pins 

Para el protocolo de comunicación en serie, los pines Arduino Mega definidos se muestran en la siguiente tabla: 


Ardbox Pinout
Pinout de Arduino Leonardo
SDA2
SCL3

Software


IMPORTANTE: asegúrese de descargar el
 Arduino based PLC boards  para Arduino IDE.




 


SPI

Estos pines solo pueden funcionar como pines de 5V si no se va a utilizar el protocolo Ethernet. Como el protocolo Ethernet usa el SPI para comunicarse con la placa Arduino, ambos comportamientos no pueden ocurrir al mismo tiempo, ya que Ethernet no funcionaría.

Estos pines no se establecen con una configuración pull-up o pull-down. Se desconoce el estado de estos pines. Si se deben usar estos pines, requieren una configuración de pull-up o pull-down. La placa Arduino permite que los pines se establezcan en una configuración pull-up. En caso contrario, se debe establecer un circuito de pull-up o pull-down externo para que funcione correctamente con estos pines.

Hardware

IMPORTANTE: Asegúrese de que su PLC Ethernet esté alimentado (12-24 V CC). 

Configuración del interruptor

Para lograr la comunicación SPI no hay ningún interruptor que lo afecte, siempre está habilitado. Por tanto, no importa la configuración de los conmutadores para implementar la comunicación SPI.

Pines usados

Para el protocolo de comunicación en serie, los pines Arduino Mega definidos se muestran en la siguiente tabla. Para el bus SPI, los pines MISO, MOSI y CLOCK son comunes a todos los dispositivos conectados al M-Duino, a la inversa, cada uno de los dispositivos conectados tendrá un pin SS único y dedicado.


Función
Conexión M-Duino
Pinout de Arduino Leonardo
MISO MISO 11
MOSI MOSI 10
CLOCK SCK 9
RST Reset 13



Software

IMPORTANTE: asegúrese de descargar el
 Arduino based PLC boards  para Arduino IDE.
Esquema de ejemplo: control digital del bote

Este ejemplo controla un potenciómetro digital AD5206 de Analog Devices.
El AD5206 tiene 6 canales de potenciómetro. Los pines de cada canal están etiquetados
A - conecta esto al voltaje
W: este es el limpiador de la olla, que cambia cuando lo configura
B - conecte esto a tierra.

El AD5206 es compatible con SPI, y para comandarlo, envía dos bytes,
uno con el número de canal (0 - 5) y otro con el valor de resistencia para el
 canal (0 - 255).

El circuito:
* Todos los pines A de AD5206 conectados a + 5V
* Todos los pines B de AD5206 conectados a tierra
* Un LED y una resistencia de 220 ohmios en serie conectados desde cada pin W a tierra
* CS - a pin digital (pin SS)
* SDI - a pin digital (pin MOSI)
* CLK - a pin digital (pin SCK)

// inslude the SPI library:
#include <SPI.h>


// set pin 10 as the slave select for the digital pot:
const int slaveSelectPin = Q0_1;

void setup() {
  // set the slaveSelectPin as an output:
  pinMode(slaveSelectPin, OUTPUT);
  // initialize SPI:
  SPI.begin();
}

void loop() {
  // go through the six channels of the digital pot:
  for (int channel = 0; channel < 6; channel++) {
    // change the resistance on this channel from min to max:
    for (int level = 0; level < 255; level++) {
      digitalPotWrite(channel, level);
      delay(10);
    }
    // wait a second at the top:
    delay(100);
    // change the resistance on this channel from max to min:
    for (int level = 0; level < 255; level++) {
      digitalPotWrite(channel, 255 - level);
      delay(10);
    }
  }

}

void digitalPotWrite(int address, int value) {
  // take the SS pin low to select the chip:
  digitalWrite(slaveSelectPin, LOW);
  //  send in the address and value via SPI:
  SPI.transfer(address);
  SPI.transfer(value);
  // take the SS pin high to de-select the chip:
  digitalWrite(slaveSelectPin, HIGH);
}
 

Funciones Especiales