• No se han encontrado resultados

METODOLOGÍA PARA LA IMPLEMENTACIÓN DE CIRCUITOS ELÉCTRICOS SOBRE ARDUINO

N/A
N/A
Jovanny Duque

Academic year: 2022

Share "METODOLOGÍA PARA LA IMPLEMENTACIÓN DE CIRCUITOS ELÉCTRICOS SOBRE ARDUINO"

Copied!
17
0
0

Texto completo

(1)

METODOLOGÍA PARA LA IMPLEMENTACIÓN DE CIRCUITOS ELÉCTRICOS SOBRE

ARDUINO

VIDEO EXPLICATIVO

ARDUINO BASADO EN LADDER

https://youtube.com/playlist?list=PLHTERkK4EZJq9hjTGCDQmaLvi7CAyk_q_

Aprende a programar Arduino desde una solución LADDER con una metodología confiable

CIRCUITOS ELÉCTRICOS FLUIDSIM

https://youtu.be/DthNIWzYofo

https://youtu.be/fJ2c8X2PD4Y

(2)

PLC´s o Arduinos

Autómata programable - PLC PLC Basados en Arduino

(3)

EDITORES LADDER PARA ARDUINO

Outseal PLC Soap Box

LD Micro Easy Ladder V2.5

(4)

PLC BASADO EN ARDUINO - HARDWARE

(5)

PLC BASADO EN ARDUINO

CONEXIÓN DEL PROTOTIPO AL BANCO DE PRUEBAS

ELECTRONEUMÁTICAS

HARDWARE

(6)

PLC BASADO EN ARDUINO - HARDWARE

Conexión del prototipo al banco de pruebas

electroneumáticas

(7)

METODOLOGÍA - LENGUAJE LADDER

Al pulsar CX3, la salida del PLC (H1) solo hará una secuencia de encendido y apagado intermitente por (4) cuatro ciclos de encendido (2s) y apagado (2s). Una vez realizados los 4 ciclos deberá accionarse el pulsador RESET para habilitar una nueva secuencia.

1) Especificaciones del sistema:

Documentación del proceso

2) Simulación del proceso

VIDEO : CIRCUITOS

ELÉCTRICOS FLUIDSIM

https://youtu.be/D

thNIWzYofo

(8)

DEFINICIÓN DE LOS TIPOS DE CONTACTOS

3) Determinación de cantidad de E/S,

temporizadores, contadores, etc.

4) Selección del Arduino

VIDEO ASOCIADO https://youtu.be/fJ2c 8X2PD4Y

5) Conexión de E/S - Direcciones

asignadas -Tipos NO/NC -Tipos de

contactos en editor LADDER

(Normal Negado)

LA LÓGICA QUE NECESITO LO QUE ESTÁ CONECTADO

SI SON

SI SON =

(9)

// Variables asociadas a "temp2".

int T2 = 0 ; //

Bit/memoria asociado al temporizador int tiempo2 = 1000; //

Tiempo asignado a la Temporización 2

int activado2 = 0; // Al principio no ha sido activado.

long inicio2, final2, actual2; // Variables de la subrutina de T2

// Variables asociadas al Contador 1

int CONTADOR1 = 0; // Guarda el numero de ciclos transcurridos

const int PSCONTADOR1 = 3; // Preselect del Contador int ESTADOPREVIO_T1 = 0; // Estado previo del

componente que incrementa el contador.

int CONT1 = 0; // Es la variable

que se activa cuando se cumplen los ciclos.

void setup()

{

//Apertura del "Monitor serie"

Serial.begin(9600);

//Declaración de puertos (pines) digitales tanto de entrada como de salida

pinMode(6, INPUT);

pinMode(7, INPUT);

pinMode(2, OUTPUT);

//Declaración del estado inicial de los pines de las salidas en bajo/apagadas

digitalWrite(H1,0); }

/// TRATAMIENTO PREVIO

//ANTES DEL void setup () // DECLARACIÓN DE VARIABLES

int K1 = 0; int K2 = 0; int K3 = 0; //

Las memorias = Relee.

int RESET = 6; int CX3 = 7 ; // Pines de entrada.

int H1 = 2; // Pin de salida del LED

// Variables asociadas a "temp1".

int T1 = 0 ; // Bit/memoria asociado al temporizador 1

int tiempo1 = 1000;//Tiempo de T1 int activado1 = 0; // Al principio no ha sido activado.

long inicio1, final1, actual1; //

Variables de la subrutina de T1 6) Programación

(10)

if ((T1 | K2) & (!K3)) { K2 = 1;}

else {K2 = 0; }

if (K2) {activetemp2(); } else {desactivetemp2();}

if (T2) {K3 = 1; } else {K3 = 0; }

if (T1 != ESTADOPREVIO_T1) { if (T1 == 1) {

CONTADOR1++;

Serial.print("Numero de Ciclos : ");

Serial.println(CONTADOR1); } ESTADOPREVIO_T1 = T1; }

if ( CONTADOR1 >= PSCONTADOR1) { CONT1 = 1;}

else { CONT1 = 0; }

if (!RESET == 1) {

CONTADOR1 = 0; CONT1 = 0;

Serial.print("Numero de Ciclos : ");

Serial.println(CONTADOR1); }

// TRATAMIENTO POSTERIOR

if (K1) {digitalWrite(H1, 1);}

else { digitalWrite(H1, 0); }

}

// Fin del Void Loop

//TRATAMIENTO SECUENCIAL void loop() {

RESET = digitalRead(6);

CX3 = digitalRead(7);

if ((CX3 | K1 | T2) & (!CONT1) &

(!T1)) {K1 = 1; } else {K1 = 0; }

if (K1) {activetemp1(); } //

Si se activa K1 corre Subrutina de temporización "void

activetemp1()"

else {desactivetemp1();

6) Programación

(11)

void desactivetemp1() { T1 = 0;

activado1 = 0; inicio1 = 0;

final1 = 0; actual1 = 0; } //- - - -

//SUBRUTINAS TEMPORIZADOR 2 void activetemp2() {

if (activado2 == 0) { activado2 = 1;

inicio2 = millis();

final2 = inicio2 + tiempo2;

}

actual2 = millis();

if (activado2 == 1 & (actual2 >= final2)) { T2 = 1; }

else { T2 = 0; } }

//- - - - void desactivetemp2() {

T2 = 0;

activado2 = 0; inicio2 = 0;

final2 = 0; actual2 = 0;

}

//- - - - //SUBRUTINAS DE TEMPORIZACIÓN

//SUBRUTINAS TEMPORIZADOR 1 void activetemp1() {

if (activado1 == 0) { activado1 = 1;

inicio1 = millis();

final1 = inicio1 + tiempo1; } actual1 = millis();

if (activado1 == 1 & (actual1 >=

final1) ) { T1 = 1; } else {T1 = 0; }

}

7) Configurar la comunicación 8) Pruebas y ajustes 6) Programación

(12)

DISPOSITIVO PARA EMBUTIR

(13)

DEFINICIÓN DEL TIPO DE CONTACTO (Normal o Negado)

(14)

IMPLEMENTACIÓN DEL PROGRAMA

https://youtu.be/cP4GUn4yiC4

(15)

IMPLEMENTACIÓN DEL PROGRAMA

https://youtu.be/raeSWl7fr_M

(16)

GRACIAS

Este material ha sido elaborado con mucho gusto.

Si te es útil Regálame un Like, comenta y suscríbete :) (っ◕‿◕)

Te invito al CANAL DE YOUTUBE MEKATRONICA

para conocer mas

http://www.youtube.com/c/Jovann

yDuque?sub_confirmation=1_

(17)

Una vez finalizado este evento, ésta presentación

estará disponible en su respectiva página

Referencias

Documento similar

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

Se entenderá por necesidad terapéutica la facultad del médico para actuar profesional- mente sin informar antes al paciente, cuando por razones objetivas el conocimiento de su

Se llega así a una doctrina de la autonomía en el ejercicio de los derechos que es, en mi opinión, cuanto menos paradójica: el paternalismo sería siempre una discriminación cuando

instante de encendido del campo, y las rojas el de apagado.. El trabajo en el campo de la biomedicina es, fundamentalmente, un trabajo multidisciplinario. En este sentido, uno de

De esta manera, Elster no busca contradecir las aportaciones davidsonianas, sino más bien, llevarlas a un nuevo y más alto nivel de análisis, ya que incluso este filósofo

El LED de estado de la impresora parpadea en color ámbar cuando se carga la batería.. Presione el botón de encendido y apagado al cargar la batería; las luces LED mostrarán el

⚫ Mantenga presionado el botón de encendido y el botón de bajar volumen simultáneamente para acceder al modo de recuperación cuando el dispositivo esté apagado.. ⚫