PROYECTO ARDUINO ESTACIÓN MECATRÓNICA CLASIFICADORA DE PIEZAS PROGRAMADA CON ARDUINO.

Page 1

PROGRAMA DE INGENIERÍA MECATRÓNICA

I.

https://youtu.be/uxA8jePMrJ4 II.

https://youtu.be/23Kfv4vqD18CIÓN

III. V.

IV. TRABAJO EN PROYECTOS MECATRÓNICOS

https://mecatronicaitsa.blogspot.com/

1. TITU

DISEÑO – CONSTRUCCIÓN Y PROGRAMACIÓN DE ESTACIÓN MECAhttp://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ TRÓNICA CLASIFICADORA DE PIEZAS POR TAMAÑO Y MATERIAL

LO DEL PROYECTO:

2.NOMBRE DEL DOCENTE ORIENTADOR :

Jovanny Rafael Duque

3. ESCUELA Y PROGRAMA :

Facultad de Ingenierías – Programa de Ingeniería Mecatrónica

4. GRUPO DE INVESTIGACIÓN:

GIIT

5. FECHA DE INICIO:

25/01/2017

FECHA DE CULMINACIÓN:

12/05/2017

6. GENERALIDADES - ESTACIÓN MECATRÓNICA CLASIFICADORA DE PIEZAS :

Introducción: El proyecto final dentro del módulo de “Diseño mecatrónico” consiste en el Diseño de una estación mecatrónica clasificadora de piezas, capaz de manipular y distinguir cada una de las cuatro categorías de piezas que ingresan a la estación, las piezas pueden ser grandes o pequeñas, según el tamaño y metálicas o plásticas según el material. Dependiendo el tipo de pieza así mismo le corresponde un nivel al cual ser depositado, esta clasificación se logra con el uso combinado de dos sensores, uno inductivo y otro fotoeléctrico. Objetivos:  Revisar el estado del arte relacionado con las tecnologías usadas en las actuales estaciones mecatrónicas más conocidas como Sistemas Módulares de Producción - MPS con el fin de definir un modelo de estación que cumpla con los criterios de funcionalidad, sencillez, seguridad y operabilidad.  Describir las especificaciones requeridas para el control Electroneumático (Start – Ciclo a Ciclo, Paro de Emergencia, etc).  Modelar en 3D de la estructura mecánica de la estación clasificadora con el uso de Software CAD – Solid Works ®.  Elaborar planos de fabricación de cada una de las piezas del proyecto, elaborados en software de 3D Solid Works ®. Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA  Fabricar piezas mecánicas según planos, ya sea por contrato o impresas en máquina Impresoras 3D.  Elaborar presupuesto con descripción, cantidad y precios de equipos mecánicos, electromecánicos, electrónicos o electroneumáticos que deben ser adquiridos dentro del proyecto.  Ensamblar la estación según indicaciones del diseño CAD.  Simular la lógica de funcionamiento del circuito de control Electroneumático en ambiente GRAFCET que cumpla con las especificaciones antes definidas , apoyados en el software Fluid SimP V4.2.  Definir y realizar las conexiones eléctricas relacionadas con las entradas y salidas físicas requeridas por el controlador lógico programable (PLC Twido TWDL CAA 40DRF) o Placa Arduino Mega 2560.  Elaborar la programación a cargar en el PLC (SIEMENS S7-300) en el entorno GRAFCET (S7 GRAPH).  Simular mediante concatenación de software (Fluid SimP V4.2 / EZOPZ 5.5 / SIMATIC S7) el funcionamiento de la estación en un ambiente completamente virtual, que representa lo más cercano al funcionamiento real del equipo.  Realizar carga del programa al prototipo terminado y aplicar pruebas de funcionamiento. Funcionamiento: El operador ubicará la pieza en frente al cilindro A (Alimentación), al pulsar el botón “START” el cilindro A (sale), dejando la pieza en el punto de sensado, el cilindro A permanece 3 segundos afuera luego de los cuales retorna a su posición inicial, para este momento tipo de pieza está en tránsito, posteriormente

el sistema de control debe recordar que

el cilindro B ( Transferencia ) sale y regresa

inmediatamente, dejando la pieza sobre la plataforma de elevación. Una vez el cilindro B regresa completamente, el cilindro C (Elevador) irá al nivel que le corresponda según el tipo de pieza así :

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA Una vez el cilindro C llegue al Nivel solicitado , el cilindro D (Expulsión) procederá a sacar la pieza de la plataforma y regresar a su posición inicial, finalizando el proceso de clasificación de una pieza con el retorno del cilindro C al Nivel 1. Como se indica en el Diagrama Espacio Fase siguiente.

Diagrama Espacio _Fase

Modelado 3D en un Software CAD

Indicaciones de funcionamiento complementarias 

Se contará con cuatro (4) tipos de piezas, cada una de las cuales será ubicada justo en frente del cilindro (A), antes de que se accione el pulsador de START.

A partir del momento que inicia el proceso para cada pieza, el sistema ejecutará de manera autónoma el ciclo que le corresponde según la clasificación de la pieza, terminando el sistema justo donde empezó.

El punto donde cada pieza se expone a los sensores de clasificación (Inductivo y Óptico ) es el momento en que sale completamente el cilindro (A) y está accionando el sensor magnético final de carrera (A1).

En el punto de clasificación , según sea la pieza , el sistema debe memorizar esta situación de alguna manera (relee, etapa, memoria etc).

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA 

El sistema verifica la presencia de “PIEZA” mediante sensor Capacitivo, ubicado en el punto de cargue de la pieza, el cual está ubicado justo en frente del cilindro (A). Sin presencia de pieza no debe inicial el ciclo de clasificación.

Diagrama de conexión Electroneumático

Se recomienda este rango de ubicación de sensores para los cilindros (A, B y D) ,

,

.

Se recomienda este rango de ubicación de sensores para el cilindro ( C ).

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA Diagrama de conexión de entradas y salidas para la simulación con el Fluid sim V4.2 y direcciones al

PLC TWIDO TWDL CAA 40DRF

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA Diagrama de conexión de entradas y salidas para la simulación con el Fluid sim V4.2 y direcciones al

Elaborado por Ing. Jovanny Duque

ARDUINO MEGA 2560


PROGRAMA DE INGENIERÍA MECATRÓNICA GRAFCET

ESTACIÓN MECATRÓNICA CLASIFICADORA DE PIEZAS

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA PROGRAMACIÓN DE ARDUINO // ETAPAS GRAFCET PRINCIPAL int E1; int E2; int E3; int E4; int E5; int E6; int E7; int E8; int E9; int E10; int E11; int E12; int E13; int E14; // ETAPAS GRAFCET AUXILIAR int E50; int E51; int E52; int E53; int E54; int E55; int E56; // DECLARACION DE LOS PINES DE ENTRADAS int CU = 2; int A_0 = 3; int A_1 = 4; int B_0 = 5; int B_1 = 6; int C1 = 7; int C2 = 8; int C3 = 9; int C4 = 10; int D0 = 11; int D1 = 12; int S_INDUC = 13; int S_FOTO = 14; int PIEZA = 15; // DECLARACION DE LOS PINES DE LAS SALIDAS int Y1 = 41; int Y2 = 43; int Y3 = 45; int Y4 = 47; int Y5 = 49; int Y6 = 51; // DECLARACION DE LAS int PIEZA_PEQ_MET; int PIEZA_GRA_MET; int PIEZA_PEQ_PLAST; int PIEZA_GRA_PLAST; // Variables int T1;

MEMORIAS

asociadas a

"temp1".

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA int activado1 = 0; // Al principio no ha sido activado. long inicio1, final1, actual1;

void setup() { Serial.begin(9600); //entradas// pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); pinMode(5, INPUT); 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(14, INPUT); pinMode(15, INPUT); //SALIDAS// pinMode(41, pinMode(43, pinMode(45, pinMode(47, pinMode(49, pinMode(51,

OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT); OUTPUT);

//ALGUNOS DISPOSITIVOS TRAEN UNA CONFIGURACION POR ESO ES NECESARIO COLOCAR LOS PUERTOS EN 0V digitalWrite(Y1, LOW); digitalWrite(Y2, LOW); digitalWrite(Y3, LOW); digitalWrite(Y4, LOW); digitalWrite(Y5, LOW); digitalWrite(Y6, LOW); // ETAPAS DEL GRAFCET PRINCIPAL (ESTADO INICIAL) E1 = HIGH; E2 = LOW; E3 = LOW; E4 = LOW; E5 = LOW; E6 = LOW; E7 = LOW; E8 = LOW; E9 = LOW; E10 = LOW; E11 = LOW; E12 = LOW; E13 = LOW; E14 = LOW;

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA // ETAPAS DEL GRAFCET UAXILIAR E50 = HIGH; E51 = LOW; E52 = LOW; E53 = LOW; E54 = LOW; E55 = LOW; E56 = LOW; //

Memorias

inicializadas

int int int int

PIEZA_PEQ_MET = PIEZA_GRA_MET = PIEZA_PEQ_PLAST PIEZA_GRA_PLAST

en

LOW

LOW; LOW; = LOW; = LOW;

} void loop ( ) { CU = digitalRead(2); A_0 = digitalRead(3); A_1 = digitalRead(4); B_0 = digitalRead(5); B_1 = digitalRead(6); C1 = digitalRead(7); C2 = digitalRead(8); C3 = digitalRead(9); C4 = digitalRead(10); D0 = digitalRead(11); D1 = digitalRead(12); S_INDUC = digitalRead(13); S_FOTO = digitalRead(14); PIEZA = digitalRead(15); //TRATAMIENTO SECUENCIAL // ECUACIONES DEL GRAFCET E1 = ((E1 | E2 = ((E2 | E3 = ((E3 | E4 = ((E4 | E5 = ((E5 | E6 = ((E6 | E7 = ((E7 | E8 = ((E8 | E9 = ((E9 | E10 = ((E10 E11 = ((E11

PRINCIPAL

(E14 & C1) ) & (~E2)); (E1 & CU & PIEZA & A_0 & B_0 & C1 & D0)) & (~E3) ); (E2 & A_1)) & (~E4) ); (E3 & T1)) & (~E5) ); (E4 & A_0)) & (~E6)); (E5 & B_1)) & (~E7)); (E6 & B_0)) & (~E8)& (~E9)& (~E10)& (~E11)); (E7 & PIEZA_PEQ_MET)) & (~E12)); (E7 & PIEZA_GRA_MET)) & (~E12)); | (E7 & PIEZA_PEQ_PLAST)) & (~E12)); | (E7 & PIEZA_GRA_PLAST)) & (~E12));

E12 = ((E12 | (E8 & E8)| (E9 & C2)| (E10 & C3)| (E11 & C4)) & (~E13)); E13 = ((E13 | (E12 & D1)) & (~E14)); E14 = ((E14 | (E13 & D0)) & (~E1)); // ECUACIONES E50 = ((E50 | E51 = ((E51 | E52 = ((E52 | E53 = ((E53 |

DEL (E56 (E50 (E51 (E51

GRAFCET AUXILIAR & E56)) & (~E51)); & A_1)) & (~E52) & (~E53) & (~E54) & (~E55)); & (~S_FOTO) & S_INDUC)) & (~E56)); & S_FOTO & S_INDUC)) & (~E56));

E54 = ((E54 | (E51 & (~S_FOTO) & (~S_INDUC))) & (~E56));

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA E55 = ((E55 | (E51 & S_FOTO & (~S_INDUC))) & (~E56)); E56 = ((E56 | (E52 & D1) | (E53 & D1) | (E54 & D1) | (E55 & D1) ) & (~E50)); delay(100);

//TRATAMIENTO POSTERIOR if (E1 == HIGH) { Serial.println("Etapa1"); } if (E2 == HIGH) { digitalWrite(Y1, HIGH); Serial.println("Etapa2"); } if (E3 == HIGH) { Serial.println("Etapa3"); activetemp1(); } else { desactivetemp1(); } if (E4 == HIGH) { digitalWrite(Y1, LOW); Serial.println("Etapa4"); } if (E5 == HIGH) { digitalWrite(Y2, HIGH); Serial.println("Etapa5"); } else { digitalWrite(Y2, LOW); } if (E6 == HIGH) { digitalWrite(Y3, HIGH); Serial.println("Etapa6"); } else { digitalWrite(Y3, LOW); } if (E7 == HIGH) { Serial.println("Etapa7"); } if (E8 == HIGH) { Serial.println("Etapa8"); } if (E9 == HIGH) { digitalWrite(Y4, HIGH); Serial.println("Etapa9"); } if (E10 == HIGH) { digitalWrite(Y4, HIGH);

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA Serial.println("Etapa10"); } if (E11 == HIGH) { digitalWrite(Y4, HIGH); Serial.println("Etapa11"); } if (E12 == HIGH) { digitalWrite(Y6, HIGH); digitalWrite(Y4, LOW); Serial.println("Etapa12"); } else { digitalWrite(Y6, LOW); } if (E13 == HIGH) { Serial.println("Etapa13"); } if (E14 == HIGH) { digitalWrite(Y5, HIGH); Serial.println("Etapa14"); } else { digitalWrite(Y5, LOW); } if (E50 == HIGH) { Serial.println("Etapa50"); } if (E51 == HIGH) { Serial.println("Etapa51"); } if (E52 == HIGH) { PIEZA_PEQ_MET=HIGH; Serial.println("Etapa52 PIEZA_PEQ_MET"); } else { PIEZA_PEQ_MET=LOW; } if (E53 == HIGH) { PIEZA_GRA_MET=HIGH; Serial.println("Etapa53 PIEZA_GRA_MET"); } else { PIEZA_GRA_MET=LOW; }

if (E54 == HIGH) { PIEZA_PEQ_PLAST=HIGH; Serial.println("Etapa54 PIEZA_PEQ_PLAST"); } else { PIEZA_PEQ_PLAST=LOW;

Elaborado por Ing. Jovanny Duque


PROGRAMA DE INGENIERÍA MECATRÓNICA }

if (E55 == HIGH) { PIEZA_GRA_PLAST=HIGH; Serial.println("Etapa55 PIEZA_GRA_PLAST"); } else { PIEZA_GRA_PLAST=LOW; }

} //SUBRUTINA TEMPORIZADOR 1 void activetemp1() { if (E3 == HIGH && activado1 == 0) { antes... activado1 = 1; inicio. inicio1 = millis(); final1 = inicio1 + 2000; } actual1 = millis();

// Si ha pulsado HIGH y no ha sido activado=0 // marca activado=1 y guarda el tiempo de // Tiempo final es inicio más 8 segundos. // Consulta el tiempo actual.

if (activado1 == 1 && (actual1 > final1) ) { es mayor que el final.... T1 = HIGH; } else { T1 = LOW; } } void desactivetemp1() { activado1 = 0;// haz un parpadeo. inicio1 = 0; final1 = 0; actual1 = 0; }

Elaborado por Ing. Jovanny Duque

// Si fue activado=1 y el tiempo actual


PROGRAMA DE INGENIERÍA MECATRÓNICA

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_ Amigos/as en el BLOGG MEKATRONICA J DUKE 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/

Elaborado por Ing. Jovanny Duque


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.