• No se han encontrado resultados

Circuito Electroneumático o Circuito Electrohidráulico

N/A
N/A
Protected

Academic year: 2021

Share "Circuito Electroneumático o Circuito Electrohidráulico"

Copied!
14
0
0

Texto completo

(1)

ACTIVIDAD FORMATIVA 2DO PARCIAL - CX3 RESET CONTROL DE CIRCUITOS ELECTRONEUMÁTICOS / ELECTROHIDRÁULICOS (% del Corte FORMATIVA )

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

NOMBRE DE LOS

ESTUDIANTES:_________________________________________________________________________________________________________________ __________________________________

Planteamiento de la situación:

Diseñe el Circuito de control eléctrico para gobernar los cilindros A y B según el diagrama Espacio- Fase (CASO ASIGNADO), tal que al dar la señal de inicio (CX3) , realice solo tres (3) ciclos completos con una temporización entre cada ciclo, una vez terminado, solo se podrá reiniciar, reseteando el contador de circuito con la señal (RESET)

A TENER EN CUENTA = Todos los proyectos usaran las mismas electroválvulas, al finalizar los 3 ciclos todos los relés deben estar desactivados, todos los proyectos usarán los mismos pines de entradas y salidas.

Diagrama Espacio - Fase

Circuito Electroneumático o Circuito Electrohidráulico

(2)

GRAFCET

(3)
(4)

// CÓDIGO ARDUINO DEL CASO EJEMPLO

//TRATAMIENTO PREVIO

// OK CX3 R I O ITSAINO // ETAPAS GRAFCET PRINCIPAL int E1;

int E2;

int E3;

int E4;

int E5;

int E6;

int E7;

int E8;

int E9;

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;

(5)

int Y3 = 4;

// Variables asociadas a "temp1".

int T1 = 0; // Bit asociado al temporizador 1 int tiempo1 = 2000; // Temporización de 2 segundos int activado1 = 0; // Al principio no ha sido activado.

long inicio1, final1, actual1;

// Variables asociadas a "temp2".

int T2 = 0; // Bit asociado al temporizador 2 int tiempo2 = 2000; // Temporización de 2 segundos int activado2 = 0; // Al principio no ha sido activado.

long inicio2, final2, actual2;

// Variables asociadas a CONTADOR

int CONTADOR = 0; // INICIALIZACIÒN DEL CONTADOR

const int PSCONTADOR = 3; // PRESELEC DEL CONTADOR = # DE CICLOS

int ESTADOPREVIO_E3 = 0; // 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);

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);

(6)

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

E2 = LOW;

E3 = LOW;

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);

// ECUACIONES GRAFCET PRINCIPAL

// Ecuaciones booleanas derivadas de la lógica binodal para cada ETAPA E1 = ((E1 | (E24 & E24) ) & (~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) );

(7)

E16 = ((E16 | (E9 & (CONTADOR < PSCONTADOR)) ) & (~E2));

E19 = ((E19 | (E9 & (CONTADOR >= PSCONTADOR)) ) & (~E24));

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 "); }

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);

(8)

Serial.println("Etapa5");

}

if (E6 == HIGH) {

Serial.println("Etapa6");

digitalWrite(Y2, HIGH); } 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) {

Serial.println("Etapa19"); }

if (E24 == HIGH) { CONTADOR = 0;

Serial.println("Etapa 24 "); }

delay(200); // Retardo creado para visualizar } // Fin del void Loop

//SUBRUTINA TEMPORIZADOR 1 void activetemp1() {

(9)

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; } // Tiempo final es inicio mas tiempo1 segundos.

actual1 = millis(); // Consulta el tiempo actual.

if (activado1 == 1 && (actual1 > final1) ) { // Si fue activado=1 y el tiempo actual es mayor que el final....

T1 = HIGH; }

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; } // Tiempo final es inicio mas tiempo2 segundos.

actual2 = millis(); // Consulta el tiempo actual.

if (activado2 == 1 && (actual2 > final2) ) { // Si fue activado=1 y el tiempo actual es mayor que el final....

T2 = HIGH; }

else { T2 = LOW; } }

void desactivetemp2() { T2 = LOW;

activado2 = 0;// haz un parpadeo.

inicio2 = 0;

final2 = 0;

actual2 = 0;

}

(10)

PINES DE ENTRADA Y SALIDA ARDUINO NANO EN LA ESTACIÓN “ITSAINO”

(11)

SUBIR ACTIVIDAD FORMATIVA 2D0 PARCIAL GRAFCET ARDUINO CX3 RESET 2 CILINDROS

Jóvenes, reciban un cordial saludo, se dará, las indicaciones para realizar esta actividad:

La actividad es en grupos de 2 estudiantes

Cada uno debe cargar la carpeta comprimida que contiene el código de Arduino

El nombre de la carpeta comprimida y del archivo de ARDUINO será CASO X APELLIDO EST1 _ APELLIDO EST2

La nota de 5.0 será 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 calificará máximo hasta máximo 3,5.

Entre mayor sean los intentos para el funcionamiento , menos nota obtendrán.

Máximo 2 intentos más.

El proyecto CX3 RESET 2 CILINDROS corresponde a la nota formativa del 2do Parcial (30% del 2do Parcial)

LISTA DE GRUPOS DE 2 ESTUDIANTES

Casos para realizar con circuitos Electroneumáticos

Desarrolle el proyecto con el uso del software Fluid Sim P.

CASO 1 Diagrama Espacio -Fase CASO 9 Diagrama Espacio - Fase

(12)

CASO 4 Diagrama Espacio - Fase

CASO 12 Diagrama Espacio - Fase

CASO 2 Diagrama Espacio - Fase CASO 10 Diagrama Espacio - Fase

CASO 3 Diagrama Espacio - Fase CASO 11 Diagrama Espacio - Fase

(13)

CASO 5 Diagrama Espacio – Fase CASO 13 Diagrama Espacio - Fase

CASO 6 Diagrama Espacio - Fase CASO 14 Diagrama Espacio - Fase

CASO 7 Diagrama Espacio – Fase CASO 15 Diagrama Espacio - Fase

(14)

CASO 8 Diagrama Espacio - Fase CASO 16 Diagrama Espacio - Fase

Jóvenes, 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 más

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

__________________________________

y Amigos/as en el BLOGG MEKATRONICA podrás encontrar cantidad de recursos sobre SOLIDWORKS, HIDRÁULICA - ELECTROHIDRÁULICA , NEUMÁTICA, ELECTRONEUMÁTICA, CONTROL, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM FACTORY

IO, entre otros

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

Referencias

Documento similar