CONTROL DE CIRCUITOS ELECTRONEUMÁTICOS 2 CILINDROS GRAFCET COMPLETO CON Arduino

Page 1

CONTROL DE CIRCUITOS ELECTRONEUMÁTICOS 2 CILINDROS GRAFCET COMPLETO

Arduino

Hola jóvenes, en estos enlaces del BLOGG y DEL CANAL, pueden encontrar recursos sobre fundamentos de ingeniería mecatrónica como : SOLIDWORKS, PROGRAMACIÓN DE ARDUINO, HIDRÁULICA – LENGUAJE LADDER , LENGUAJE GRAFCET ,ELECTROHIDRÁULICA , NEUMÁTICA, ELECTRONEUMÁTICA, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM, FACTORY IO, CONTROL, entre otros https://www.mecatrónica.com.co/ https://mecatronicaitsa.blogspot.com/ http://www.youtube.com/c/Jovanny Duque?sub_confirmation=1_ Si te ha sido útil, regálame un Like, comenta y suscríbete :) (っ◕‿◕)


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ ACTIVIDAD FORMATIVA 2DO PARCIAL - CX3 RESET CONTROL DE CIRCUITOS ELECTRONEUMÁTICOS / ELECTROHIDRÁULICOS Corte FORMATIVA )

(% del

https://youtube.com/playlist?list=PLHTERkK4EZJoUmPtqY8kKCboLIrGN8tYc https://youtube.com/playlist?list=PLHTERkK4EZJpJEcByUotJ5YOIiC-Vmimt

Planteamiento de la situación: Disene el Circuito de control eléctrico para gobernar los cilindros A y B segun el diagrama Espacio- Fase (CASO ASIGNADO), tal que al dar la senal de inicio (CX3) , realice solo tres (3) ciclos completos con una temporizacion entre cada ciclo, una vez terminado, solo se podra reiniciar, reseteando el contador de circuito con la senal (RESET) A TENER EN CUENTA = Todos los proyectos usaran las mismas electrovalvulas, al finalizar los 3 ciclos todos los reles deben estar desactivados, todos los proyectos usaran los mismos pines de entradas y salidas. Diagrama Espacio - Fase

Elaborado por Ing. Jovanny Duque

pág. 1


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ Circuito Electroneumático

o

Circuito Electrohidráulico

GRAFCET

Elaborado por Ing. Jovanny Duque

pág. 2


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

Elaborado por Ing. Jovanny Duque

pág. 3


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

// CODIGO ARDUINO DEL CASO EJEMPLO //TRATAMIENTO //

OK

CX3

R

PREVIO

I O

ITSAINO

// ETAPAS GRAFCET PRINCIPAL int E1; int E2; int E3; int E4; int E5; int E6; int E7; int E8; int E9;

Elaborado por Ing. Jovanny Duque

pág. 4


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ int E16; int E19; int E24;

// DECLARACION DE LOS PINES DE ENTRADAS int A_0 = 10; int A_1 = 11; int B_0 = 12; int B_1 = 13; int CX3 = 8; int R_ESET = 9;

// DECLARACION DE LOS PINES DE LAS SALIDAS int Y1 = 2; int Y2 = 3; int Y3 = 4;

// Variables int T1 = 0;

asociadas a // Bit

int tiempo1 = 2000;

asociado

//

Elaborado por Ing. Jovanny Duque

"temp1". al

temporizador

Temporización

de 2

1

segundos

pág. 5


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ int activado1 = 0; // Al principio no ha sido activado. long inicio1, final1, actual1;

// Variables

asociadas a

int T2 = 0;

// Bit

int tiempo2 = 2000;

"temp2".

asociado

//

al

temporizador

Temporización

de 2

2

segundos

int activado2 = 0; // Al principio no ha sido activado. long inicio2, final2, actual2;

// Variables

asociadas a

int CONTADOR = 0; // const int

CONTADOR

INICIALIZACIÒN DEL CONTADOR

PSCONTADOR = 3;

int ESTADOPREVIO_E3 = 0;

// PRESELEC DEL CONTADOR = # DE CICLOS //

Estado previo de la

etapa

que

incrementa

el

contador

void setup() {

Serial.begin(9600);

//Declaración de puertos digitales

de

ENTRADAS

pinMode(A_0, INPUT);

Elaborado por Ing. Jovanny Duque

pág. 6


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ pinMode(A_1, INPUT); pinMode(B_0, INPUT); pinMode(B_1, INPUT); pinMode(CX3, INPUT); pinMode(R_ESET, INPUT);

// //Declaración de puertos digitales

de SALIDAS

pinMode(Y1, OUTPUT); pinMode(Y2, OUTPUT); pinMode(Y3, OUTPUT);

//ALGUNOS DISPOSITIVOS TRAEN UNA CONFIGURACION POR ESO ES NECESARIO COLOCAR LOS PUERTOS EN 0V digitalWrite(Y1, LOW); digitalWrite(Y2, LOW); digitalWrite(Y3, LOW);

// ETAPAS DEL GRAFCET PRINCIPAL (ESTADO INICIAL) E1 = HIGH; E2 = LOW; E3 = LOW;

Elaborado por Ing. Jovanny Duque

pág. 7


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ E4 = LOW; E5 = LOW; E6 = LOW; E7 = LOW; E8 = LOW; E9 = LOW; E16 = LOW; E19 = LOW; E24 = LOW; }

void loop ( )

{

//TRATAMIENTO SECUENCIAL //Capturar valores de puertos digitales de entrada

CX3 = digitalRead(8); R_ESET = digitalRead(9); A_0 = digitalRead(10); A_1 = digitalRead(11); B_0 = digitalRead(12); B_1 = digitalRead(13);

Elaborado por Ing. Jovanny Duque

pág. 8


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

// ECUACIONES GRAFCET PRINCIPAL // Ecuaciones booleanas E1 = ((E1 | (E24 & E24)

derivadas

de

la lógica binodal para cada ETAPA

) & (~E2));

E2 = ((E2 | (E1 & (A_0 & B_0 & CX3) )|(E16 & T2)) & (~E3)); E3 = ((E3 | (E2 & A_1)) & (~E4) ); E4 = ((E4 | (E3 & B_1)) & (~E5) ); E5 = ((E5 | (E4 & T1)) & (~E6) );

E6 = ((E6 | (E5 & B_0)) & (~E7) );

E7 = ((E7 | (E6 & A_0)) & (~E8) );

E8 = ((E8 | (E7 & A_1)) & (~E9) );

E9 = ((E9 | (E8 & A_0))

& (~E16) & (~E19)

);

E16 = ((E16 | (E9

& (CONTADOR < PSCONTADOR)) ) & (~E2));

E19 = ((E19 | (E9

& (CONTADOR >= PSCONTADOR)) ) & (~E24));

Elaborado por Ing. Jovanny Duque

pág. 9


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ E24 = ( (E24 | (E19 &

R_ESET )) & (~E1) )

;

//TRATAMIENTO POSTERIOR // ACCIONES GRAFCET PRINCIPAL if (E1 == HIGH) { Serial.println("Etapa 1"); CONTADOR = 0; Serial.print("VALOR DEL CONTADOR :

");

Serial.println(CONTADOR); }

if (E2 == HIGH) { digitalWrite(Y1, HIGH); Serial.println("Etapa2");

}

if (E3 == HIGH) { digitalWrite(Y1, LOW); digitalWrite(Y3, HIGH); Serial.println("Etapa3 ");

Elaborado por Ing. Jovanny Duque

}

pág. 10


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ if ((E3) != ESTADOPREVIO_E3) { if (E3 == HIGH) { CONTADOR++; Serial.print("CONTADOR

CONTADOR

CONTADOR :

");

Serial.println(CONTADOR); } ESTADOPREVIO_E3 = E3; }

if (E4 == HIGH) { Serial.println("Etapa4"); activetemp1(); else {

}

desactivetemp1();

}

if (E5 == HIGH) { digitalWrite(Y3, LOW); Serial.println("Etapa5"); }

if (E6 == HIGH) { Serial.println("Etapa6"); digitalWrite(Y2, HIGH);

Elaborado por Ing. Jovanny Duque

}

pág. 11


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ if (E7 == HIGH) { digitalWrite(Y2, LOW);

digitalWrite(Y1, HIGH);

Serial.println("Etapa7");

}

if (E8 == HIGH) { Serial.println("Etapa 8"); digitalWrite(Y1, LOW); digitalWrite(Y2, HIGH);

}

if (E9 == HIGH) { Serial.println("Etapa 9"); digitalWrite(Y2, LOW);

}

if (E16 == HIGH) { Serial.println("Etapa16"); activetemp2(); else {

}

desactivetemp2();

}

if (E19 == HIGH) {

Elaborado por Ing. Jovanny Duque

pág. 12


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ Serial.println("Etapa19");

}

if (E24 == HIGH) { CONTADOR = 0; Serial.println("Etapa 24 ");

}

delay(200);

//

//

del

Fin

Retardo void

}

creado

para

visualizar

Loop

//SUBRUTINA TEMPORIZADOR 1 void activetemp1() {

if (activado1 == 0) {

// Si ha pulsado HIGH y no ha sido activado=0 antes...

activado1 = 1;

// marca activado=1 y guarda el tiempo de inicio.

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

actual1 = millis();

}

// Tiempo final es inicio mas tiempo1 segundos.

// Consulta el tiempo actual.

if (activado1 == 1 && (actual1 > final1) ) { T1 = HIGH;

// Si fue activado=1 y el tiempo actual es mayor que el final....

}

Elaborado por Ing. Jovanny Duque

pág. 13


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ else {

T1 = LOW;

}

} void desactivetemp1() { T1 = LOW; activado1 = 0;// haz un parpadeo. inicio1 = 0;

final1 = 0;

actual1 = 0;

}

//SUBRUTINA TEMPORIZADOR 2 void activetemp2() {

if (activado2 == 0) {

// Si ha pulsado HIGH y no ha sido activado=0 antes...

activado2 = 1;

// marca activado=1 y guarda el tiempo de inicio.

inicio2 = millis(); final2 = inicio2 + tiempo2; }

actual2 = millis();

// Tiempo final es inicio mas tiempo2 segundos.

// Consulta el tiempo actual.

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

// Si fue activado=1 y el tiempo actual es mayor que el final....

}

Elaborado por Ing. Jovanny Duque

pág. 14


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ else {

T2 = LOW;

}

}

void desactivetemp2() { T2 = LOW; activado2 = 0;// haz un parpadeo. inicio2 = 0; final2 = 0; actual2 = 0;

}

Elaborado por Ing. Jovanny Duque

pág. 15


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

PINES

DE ENTRADA EN LA

Elaborado por Ing. Jovanny Duque

Y

SALIDA ARDUINO NANO

ESTACIÓN

“ITSAINO”

pág. 16


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

SUBIR ACTIVIDAD FORMATIVA 2D0 PARCIAL GRAFCET ARDUINO CX3 RESET 2 CILINDROS Jovenes, reciban un cordial saludo, se dara, las indicaciones para realizar esta actividad:        

La actividad es en grupos de 2 estudiantes Cada uno debe cargar la carpeta comprimida que contiene el codigo de Arduino El nombre de la carpeta comprimida y del archivo de ARDUINO sera CASO X APELLIDO EST1 _ APELLIDO EST2 La nota de 5.0 sera para quien haya enviado el proyecto por el Aula en el tiempo previsto y funcione a la primera vez Si no envían el proyecto en el tiempo previsto y lo presentan por otro medio se calificara maximo hasta maximo 3,5. Entre mayor sean los intentos para el funcionamiento , menos nota obtendran. Maximo 2 intentos mas. El proyecto CX3 RESET 2 CILINDROS corresponde a la nota formativa del 2do Parcial (30% del 2do Parcial)

LISTA

Elaborado por Ing. Jovanny Duque

DE

GRUPOS

pág. 17


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ Casos para realizar con circuitos Electroneumáticos Desarrolle el proyecto con el uso del software Fluid Sim P.

CASO 1

CASO 2

Elaborado por Ing. Jovanny Duque

Diagrama Espacio -Fase

Diagrama Espacio - Fase

CASO 9

Diagrama Espacio - Fase

CASO 10

Diagrama

pág. 18

Espacio - Fase


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ CASO 3 Diagrama Espacio - Fase

CASO 11

Diagrama Espacio - Fase

CASO 12

Diagrama Espacio - Fase

CASO 13

Diagrama Espacio - Fase

CASO 4 Diagrama Espacio - Fase

CASO 5 Diagrama Espacio – Fase

Elaborado por Ing. Jovanny Duque

pág. 19


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ CASO 6 Diagrama Espacio - Fase

CASO 7 Diagrama Espacio – Fase

Elaborado por Ing. Jovanny Duque

CASO 14 Diagrama Espacio - Fase

CASO 15 Diagrama Espacio - Fase

pág. 20


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ CASO 8

Diagrama Espacio - Fase

CASO 16

Diagrama Espacio - Fase

Jovenes, este material ha sido elaborado con mucho gusto. Si te es util Rega lame un Like, comenta y suscríbete :) (っ◕‿◕) Te invito al CANAL DE YOUTUBE MEKATRONICA para conocer ma s

http://www.youtube.com/c/JovannyDuque?sub_confirmation=1 _ __________________________________

Elaborado por Ing. Jovanny Duque

pág. 21


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

y Amigos/as en el BLOGG MEKATRONICA podras encontrar cantidad de recursos sobre SOLIDWORKS, HIDRAULICA - ELECTROHIDRAULICA , NEUMATICA, ELECTRONEUMATICA, CONTROL, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM FACTORY IO, entre otros

https://mecatronica-itsa.blogspot.com/

Elaborado por Ing. Jovanny Duque

pág. 22


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.