ACTIVIDAD
EJEMPLO RESUELTO
DISPOSITIVO PARA REMACHAR ELECTRONEUMÁTICO (A+/B+/TEMP/B-/A-/A+/A-) - OK ADAPTADO PARA ITSAINO
https://youtube.com/playlist?list=PLHTERkK4EZJrSElocHbXzjzLjKXq8RjIV ARDUINO BASADO EN LADDER
Aprende a programar Arduino desde una solución LADDER con una metodología confiable https://youtube.com/playlist?list=PLHTERkK4EZJq9hjTGCDQmaLvi7CAyk_q_
DIAGRAMA ESPACIO/FASE
ESPECIFICACIONES DEL CONTROL
1. El sistema de control debe permitir la selección entre Ciclo Único (CU), Ciclo Continuo (CC) o Ciclo X3.
2. El CC o CX3 deben quedar interrumpido (termina el ciclo actual y se detiene en posición inicial) por la acción de conmutar a CU (solicitud de parada a fin de Ciclo) o mediante el pulsador de Paro de Emergencia (PE) o cuando no hay más PIEZA (interruptor abierto).
3. El dispositivo se explora a través de un detector de PIEZA (interruptor cerrado), sin la presencia de PIEZA, no puede iniciar ni repetir ningún ciclo.
4. Cuando se terminan las piezas en el depósito de gravedad y está en modo CC o Cx3, debe terminar el ciclo en el que está y al terminarlo, ha de pararse la instalación en su posición base (inicial).
5. Después de haber realizado los (3) tres ciclos del modo CX3 sólo puede iniciarse el funcionamiento en cualquier otro ciclo después de pulsar RESET. No debe haber ningún movimiento de la máquina al pulsar RESET, para iniciar cualquier ciclo deben usarse cualquiera de los pulsadores CU, CC o CX3.
6. Una vez accionado el pulsador de Paro de Emergencia, deben retornar inmediatamente todos los cilindros a la posición de partida, pero el sistema debe asegurar que el cilindro A regrese solo cuando el cilindro B lo haya hecho completamente. Es decir, primero verifica el retorno del cilindro B y después el retorno del cilindro A. Debiendo quedar al final los dos cilindros retraídos en su posición inicial.
7. En el modo CC o en CX3 el sistema debe asegurar una temporización entre ciclos.
Este video explica el funcionamiento esperado del circuito electroneumático https://itsaedu-
my.sharepoint.com/:v:/g/personal/jduque_itsa_edu_co/Eam2eGqTYw5CiE8wyeWRsfsBVzp_0MfJzDfMFLbey Oi79g?e=llpI2C
COM1 PIN 7
PIN 6 PIN 2
PIN 3
Y1
Y2
A1 A2
A1 A2
3 4
PIN 4
Y3
A1 A2
PIN 10 4
1
PIN 11 A1
A0 1 4
1 4
B1 B0 1 4
1 4
PIN 12
PIN 13 C U
CC
PE
1 PIN A3
PIN A2
PIN 8 C X 3
RESET
PIN 9
CONEXIÓN DE ENTRADAS Y SALIDAS ARDUINO NANO PARA LADDER O GRAFCET
SON IGUALES PARA TODOS
ENTRADAS
SALIDAS
+24 V
0V
+24 V 0V +24 V 0V
COM C
O N E X I Ó N
D E
E N T R A D A S Y
S A L I D A S
ARDUINO NANO
ALIMENTACIÓN DEL ITSA-INO D
I S P O S I T I V O
P A R A
R E M A C H A R
Interruptor PIEZA
Fig. Circuito de control eléctrico que cumple con las especificaciones de control
CÓDIGO DE ARDUINO
/// TRATAMIENTO PREVIO
/// DISPOSITIVO PARA REMACHAR UAN //DECLARACION DE VARIABLES
int K1 = 0; int K2 = 0; int K3 = 0;
int K4 = 0;int K5 = 0;int K6 = 0;
int K7 = 0;int K8 = 0;int K9 = 0;
int K10 = 0;int K11= 0;int K12= 0;
int K13= 0;int K14 = 0;int K20 = 0;
int K_FIN_CICLO = 0;
int KCC = 0;int KCX3 = 0;
int CU ;int CC ;int CX3 ;int PIEZA; int A_0 ;
int A_1; int B_0 ; int B_1; int PE; int R_ESET;
int Y1 = 2; int Y2 = 3; int Y3 = 4;
// Variables asociadas a "temp1".
int T1 = 0;
int tiempo1 = 2000;
int activado1 = 0;
long inicio1, final1, actual1;
// Variables asociadas a "temp2".
int T2 = 0;
int tiempo2 = 2000;
int activado2 = 0;
long inicio2, final2, actual2;
// Variables asociadas al Contador 1 int CONTADOR1 = 0;
const int PSCONTADOR1 = 3;
int ESTADOPREVIO_K20 = 0;
int CONT1 = 0;
void setup() {
//Apertura del visualizador serial Serial.begin(9600);
pinMode(6, INPUT); pinMode(7, INPUT);
pinMode(8, INPUT); pinMode(9, INPUT);
pinMode(10, INPUT); pinMode(11, INPUT);
pinMode(12, INPUT); pinMode(13, INPUT);
pinMode(A2, INPUT); pinMode(A3, INPUT);
pinMode(2, OUTPUT); pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
digitalWrite(Y1, 0); digitalWrite(Y2, 0);
digitalWrite(Y3, 0);
}
//TRATAMIENTO SECUENCIAL
void loop() {
CU = digitalRead(6); CC = digitalRead (7);
CX3 = digitalRead(8); R_ESET = digitalRead(9);
PIEZA = digitalRead(A2); PE = digitalRead(A3);
A_0 = digitalRead(10); A_1 = digitalRead(11);
B_0 = digitalRead(12); B_1 = digitalRead(13);
if (((((CU | CC | CX3 | T2)& PIEZA & A_0 & B_0 & PE) | K1))&
(!K5)& (!K12) & (!K14)& (!CONT1)) {K1 = 1;}
else { K1 = 0;}
if ((((K1 & A_1) | K2)) & (!K4) & (!K10)) { K2 = 1; } else {K2 = 0; }
if ((((K2 & B_1) | K3)) & (!K4)& (!K10) & (!K14)) { K3 = 1; } else { K3 = 0; }
if (K3) {activetemp1(); Serial.println("TEMP 1"); } else { desactivetemp1(); }
if ((T1 | K4) & (!K5)& (!K10) ) { K4 = 1; } else { K4 = 0; }
if ((((K4 & B_0) | K5)) & (!K6)& (!K12)& (!K14)) { K5 = 1; } else { K5 = 0; }
if ((((K5 & A_0) | K6)) & (!K7)& (!K12)& (!K14)) { K6 = 1; } else { K6 = 0; }
if ((((K6 & A_1) | K7)) & (!K12)& (!K14)& (!K_FIN_CICLO)) { K7 = 1; } else { K7 = 0; }
if (K7 & A_0) { K_FIN_CICLO = 1; Serial.println("FIN DE CICLO "); } else { K_FIN_CICLO = 0; }
if ((K_FIN_CICLO | K8) & (!K9) & (KCC | KCX3)) { K8 = 1;}
else { K8 = 0;}
if (K8) { activetemp2();Serial.println("TEMP 2"); } else { desactivetemp2(); }
if (T2) { K9 = 1;}
else { K9 = 0;}
if (KCX3 & K_FIN_CICLO) { K20 = 1; } else {K20 = 0;}
if (K20! = ESTADOPREVIO_K20) { if (K20 == HIGH) {CONTADOR1++;
Serial.print("Numero de Ciclos: ");
Serial.println(CONTADOR1);}
ESTADOPREVIO_K20 = K20;
}
if (CONTADOR1 >= PSCONTADOR1) {CONT1 = 1; Serial.println("FIN CX3 - PULSE RESET ");}
else {CONT1 = 0;}
if (R_ESET) {CONTADOR1 = 0; CONT1 = 0; Serial.println(CONTADOR1); Serial.print("Numero de Ciclos: ");}
if ((CC | KCC) & (! CU) & PIEZA & PE & (! CONT1) & (! KCX3)) {KCC = 1;}
else {KCC = 0;}
if ((CX3| KCX3) & PE & PIEZA & (! CU) & (! CONT1) & (! KCC)) {KCX3 = 1;
Serial.println("KCX3- MODO CICLO CX3");}
else {KCX3 = 0;}
if (((((! PE) & (! B_0)) | K10)) & (! K11) & (! K12)) {K10 = 1;}
else {K10 = 0;}
if (K10 & B_0 & A_0) {K11= 1;}
else {K11 = 0;}
if (((K10 & B_0 & (! A_0)) | K12) & (! K13)) {K12 = 1;}
else {K12 = 0;}
if (K12 & A_0) {K13= 1;}
else {K13 = 0;}
if ((((! PE) & B_0) | K14) & (! A_0)) {K14 = 1;}
else {K14 = 0;}
// TRATAMIENTO POSTERIOR - ACTIVACIÓN DE LAS SALIDAS/ ACCIONES if (K1 | K6) {
digitalWrite (Y1, 1);
Serial.println("A+");}
else {
digitalWrite (Y1, 0);
}
if (K2) {
digitalWrite (Y3, 1);
Serial.println("B+");}
else {digitalWrite (Y3, 0);}
if (! K2 & (! B_0)) { Serial.println("B-");}
if (K5 | K7 | K12 | K14) { digitalWrite (Y2, 1);
Serial.println("A-");}
else {
digitalWrite (Y2, 0);
}
delay (200);
} // FIN DEL VOID LOOP
//SUBRUTINAS DE TEMPORIZACIÓN //SUBRUTINA TEMPORIZADOR 1
//- - - -
void activetemp1() {
if (activado1 == 0) {// Si K1 está activa y no ha sido activado=0 antes...
activado1 = 1; // marca activado=1 y guarda el tiempo de inicio.
inicio1 = millis();
final1 = inicio1 + 2000;
}
actual1 = millis (); // Consulta el tiempo actual.
if (activado1 == 1 && (actual1 > final1)) { T1 = 1;
}
else {T1 = 0;}
}
//- - - -
void desactivetemp1() { T1 = LOW;
activado1 = 0; inicio1 = 0;
final1 = 0; actual1 = 0;
}
//- - - -
//SUBRUTINA TEMPORIZADOR 2
//- - - -
void activetemp2() {
if (activado2 == 0) {// Si XX está activa y no ha sido activado=0 antes...
activado2 = 1; // marca activada=1 y guarda el tiempo de inicio.
inicio2 = millis ();
final2 = inicio2 + 2000;
}
actual2 = millis (); // Consulta el tiempo actual.
if (activado2 == 1 && (actual2 > final2)) { T2 = 1;}
else {T2 = 0;}
}
//- - - -
void desactivetemp2() { T2 = LOW;
activado2 = 0; inicio2 = 0;
final2 = 0; actual2 = 0;
}
//- - - -
ACTIVIDAD
Apliquen a su caso lo mismo que se hizo al ejemplo anteriormente explicado Apliquen a su caso lo mismo que se explica en los siguientes videos
METODOLOGÍA DE CIRCUITO ELECTRONEUMÁTICO - LADDER https://youtu.be/oNHMFWXVHzY Ciclo Único
https://youtu.be/h4EtyinHUYU Ciclo Único + Ciclo Continuo https://youtu.be/Zr18ir-KFzI Ciclo Único + Ciclo Continuo+ Cx3
https://youtu.be/n-OvsZigj-g Ciclo Único + Ciclo Continuo+ Cx3+ Paro de Emergencia
Video: CIRCUITO ELECTRONEUMÁTICO SIMULADO CON TINKERCAD https://youtu.be/YSbmOvADG44
SUBIR ACTIVIDAD Primer Parcial Ladder ARDUINO CUCCCX3 RESET PE con 2 CILINDROS Jóvenes, reciban un cordial saludo, se dará, las indicaciones para realizar esta actividad:
La actividad es en grupos de 2 estudiantes
Todos usaran las mismas entrada, salidas, electroválvulas y Tablero de mando etc.
Usen temporizaciones de 2 segundos.
Pruébenlo en Software ThinkerCAD o en Protoboar antes de enviarlo.
El proyecto se cargará para su evaluación en un Arduino Nano.
Cada uno debe cargar la carpeta comprimida que contiene el código de Arduino equivalente al Ladder que han simulado previamente en FluidSim P.
Denle el nombre al archivo de Arduino siguiendo este modelo “ GRUPO X Apellido EST1 Apellido EST2”
Compriman la carpeta que contiene el código de Arduino con el nombre “ GRUPO X Apellido EST1 Apellido EST2”
La nota de 5.0 será para quien haya enviado el proyecto y funcione a la primera vez, pruebas posteriores serán posibles pero se tendrán en cuenta en la calificación (entre más pruebas serán menores las
calificaciones), solo una prueba adicional, solo se recibirán los archivos por el Aula virtual.
El proyecto con todas las condiciones corresponde al 35% del Primer Parcial Se hará la prueba de Calificación de los proyectos la próxima semana.
Exitos
DIAGRAMAS ESPACIO FASE 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
CASO 2 Diagrama Espacio - Fase
CASO 10 Diagrama Espacio - Fase
CASO 3 Diagrama Espacio - Fase
CASO 11 Diagrama Espacio - Fase
CASO 4 Diagrama Espacio - Fase CASO 12 Diagrama Espacio - Fase
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
CASO 8 Diagrama Espacio - Fase
CASO 16 Diagrama Espacio - Fase
GRUPOS DE 2 ESTUDIANTES
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_co nfirmation=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