ARDUINO en LADDER - LUZ INTERMITENTE X 4 CICLOS USO DE CONTADOR

Page 1

ARDUINO BASADO EN LADDER

PRÁCTICA Nº 4 CICLO INTERMITENTE DE UNA SALIDA X 4 CICLOS

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/JovannyDu que?sub_confirmation=1_ Si te ha sido útil, regálame un Like, comenta y suscríbete :) (っ◕‿◕)


SISTEMAS DE AUTOMATIZACIÓN SECUENCIALES IMPLEMENTADOS EN LADDER SOBRE ARDUINO

ARDUINO ARDUINO BASADO EN LADDER Aprende a programar Arduino desde una solucio n LADDER con una metodología confiable https://youtube.com/playlist?list=PLHTERkK4EZJq9hjTGCDQmaLvi7CAyk_q_

Acceso a PDF

https://play.google.com/books/s/370286768613/ebooks https://mega.nz/folder/a9thTIjA#bSAwbpbG3Z34DW3jJ_bMQg

ARDUINO Aprende a programar Arduino desde una solucio n LADDER o GRAFCET con metodologí as confiables https://youtube.com/playlist?list=PLHTERkK4EZJr7zDQNKjjEyxhErjllCCUy

GRAFCET CON ARDUINO Programa en Arduino sistemas secuenciales simulados en GRAFCET , con un metodo confiable 100% https://youtube.com/playlist?list=PLHTERkK4EZJpJEcByUotJ5YOIiC-Vmimt


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

https://mecatronica-itsa.blogspot.com/ “METODOLOGÍA DE PROGRACIÓN” Elaborar la tabla de símbolos en el IDE del Arduino según el esquema de entradas y salidas, para asignarle nombre a las entradas, salidas, temporizadores, etc. Elaborar el programa en IDE del Arduino basándose en la solución eléctrica de Fluid Sim P y el estado de las entradas conectadas. Revisar errores en el programa. Guardar el programa IDE del Arduino en el computador (con un nombre y lugar conocido).

ARDUINO BASADO EN LADDER Aprende a programar Arduino desde una solucio n LADDER con una metodología confiable https://youtube.com/playlist?list=PLHTERkK4EZJq9hjTGCDQmaLvi7CAyk_q_

CONTROL DE UNA CARGA EJEMPLOS DE IMPLEMENTACIÓN DE LA METODOLOGÍA PARA TRADUCIR AL LENGUAJE “PROCESSING” DE ARDUINO UN CIRCUITO ELÉCTRICO HECHO EN LADDER.

La implementación de la metodología iniciará con la realización del control de encendido de una carga/salida representada por una (LUZ), con el uso de dos (2) pulsadores NO, para ello se usará la misma conexión simplificada de entradas y salidas de la figura 1, se probaran cuatro (4) casos Caso I, Caso II, Caso III y Caso IV con el uso del Equipo de prácticas (Sistema electromecánico /neumático + Arduino) cada uno con un nivel de complejidad creciente, al cabo de los cuales quedará claro como hacer uso de los elementos de programación como : entradas digitales, salidas digitales, memorias(relé), temporizaciones, contadores de eventos, entre otros.

En cada caso se desarrollan completamente las cuatro fases del proceso . Los pasos que se han de seguir en estos primeros casos van a ser similares para todas la demás experiencias que se puedan realizar con el equipo.

2


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

https://mecatronica-itsa.blogspot.com/ Con la realización de estos casos se comprueba la flexibilidad que ofrecen los Arduino ya que sin modificar las entradas y salidas conectadas a él, se pueden correr diversos programas y causar un efecto diferente.

Se tomará esta práctica a manera de ejemplo y la información a recibir por los estudiantes será la siguiente:

PROCEDIMIENTO

1. Encontrar la solución a la situación planteada en lógica cableada (LADDER) con el uso de un Software de Simulación (Fluid Sim P). A partir del enunciado o análisis del problema, se describe en forma precisa la situación a realizar y se plantea una solución en LADDER con el Software Fluid Sim P. El cual consiste en un circuito de control eléctrico en lógica cableada. 2. Definir el diagrama de conexión de entradas y salidas que se usará para saber que tipo de contactos sean NO o NC estarán conectados a las entradas

y que pines serán

asignados al proyecto. Similar a la figura 1.

3. Elaborar el programa equivalente en el IDE del Arduino: Se elaborará el programa equivalente del circuito eléctrico

hecho en LADDER siguiendo las indicaciones de la sección

“ Metodología de Programación “.

4. Conectar alimentación del

Equipo

de prácticas

(Sistema electromecánico /neumático +

Arduino) a la fuente de poder de 110VAC. 5. Verificar

las conexiones de

las entradas y salidas al Arduino Nano las cuales están

precableadas 6. Configurar la comunicación entre el PC y el Arduino en términos de tipo de controlador (Nano) y puerto serial de comunicación. 7. Cargar y probar cada uno de los cuatro (4) casos en el equipo configurando

EQUIPOS Y ELEMENTOS REQUERIDOS

3


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

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

ELEMENTOS

CANTIDAD

1

Luz piloto Led a 24 VDC

1

2

Fuente a 24 V DC

1

3

Pulsador Normalmente Abierto

2

4

Tarjeta Arduino

1

5

Cable de Comunicación PC - Arduino

1

6

Cables de conexión

7

Computador con los Programas Fluid Sim P y el IDE de Arduino

Fig. 1

Esquema simplificado de conexión de entradas y Salidas a Arduino

4

1


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

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

CASO N°4 Planteamiento de la situación: Al pulsar START (S1) , la salida del Arduino (H1) solo hará una secuencia de encendido y apagado intermitente por (4) cuatro ciclos de encendido (2s) y apagado (2s). Una vez realizados deberá accionarse el pulsador RESET (S0) para habilitar una nueva secuencia.

Solución Eléctrica LADDER en Fluid Sim P.

Programa equivalente en IDE del Arduino

/// TRATAMIENTO PREVIO /// CASO 4 LED INTERMITENTE X4 //DECLARACION DE VARIABLES

OKO

5


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

https://mecatronica-itsa.blogspot.com/ //Declaración de las variables Ki corresponden a las relés/memorias utilizadas para el circuito/programa //Declaración de las variables Si corresponden a las Entradas de pulsador NO (Normalmente abiertos) utilizadas para el circuito/programa //La designación H corresponde al pin de salidas acoplada a un LED int K1=0; int K2=0; // Las memorias se declaran en estado inicial bajo o false. int S0=6; // Hará la función de STOP int S1=7 ; // Hará la función de START int H1 = 29; // Pin de salida del LED // Variables asociadas a "temp1". int T1 = LOW; // Bit asociado al temporizador 1 int activado1 = 0; // Al principio no ha sido activado. long inicio1, final1, actual1; // Variables int T2 ; int activado2 long inicio2,

asociadas a "temp2". // Bit asociado al temporizador 2 = 0; // Al principio no ha sido activado. final2, actual2;

// Variables asociadas al Contador 1 int CONTADOR1 = 0; const int PSCONTADOR1 = 3; // Preselect del Contador o # de ciclos int ESTADOPREVIO_T1 = 0; // Estado previo del componente que incrementa el contador void setup() { //Apertura del visualizador Serial.begin(9600);

serial

//Declaración de puertos digitales pinMode(6, INPUT); pinMode(7, INPUT); pinMode(29, OUTPUT); //Algunos dispositivos traen una configuración "Sinking and Sourcing" //por eso es necesario colocar los puertos de salida en 0v. //Declaración del estado inicial

de los pines de las salidas en bajo/apagadas

digitalWrite(H1, LOW); } //TRATAMIENTO

SECUENCIAL

void loop() { //Capturar valores de puertos digitales de entrada

6


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

https://mecatronica-itsa.blogspot.com/ S0= digitalRead(6);

S1= digitalRead(7);

//TRATAMIENTO SECUENCIAL // Declaración de las ecuaciones caracteristicas de cada renglon if ((S1 | K1 |T2) && (CONTADOR1< PSCONTADOR1) && (!T1)) {K1=1;} else {K1=0; } if (K1) {activetemp1(); } else {desactivetemp1();} if ((T1 | K2) && (!S0) && (!T2)) {K2=1;} else {K2=0;} if (K2) {activetemp2(); } else {desactivetemp2();} if (T1 != ESTADOPREVIO_T1) { if (T1 == HIGH) { CONTADOR1++; Serial.print("Numero de Ciclos : Serial.println(CONTADOR1); }

");

ESTADOPREVIO_T1 = T1; } if (S0 == HIGH) { Serial.print("Numero de Ciclos : Serial.println(CONTADOR1); CONTADOR1 = 0; }

");

// TRATAMIENTO POSTERIOR - ACTIVACIÓN DE LAS if (K1) {digitalWrite(H1, HIGH);} else {digitalWrite(H1, LOW);}

SALIDAS/ ACCIONES

} //SUBRUTINAS DE TEMPORIZACIÓN (Para cada temporización se asigna un subprograma //activetempx y un desactivetempx usando para ello comparaciones con el comando millis //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //SUBRUTINA TEMPORIZADOR 1 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void activetemp1() { if (K1 && activado1 == 0) { // Si K1 esta activa y no ha sido activado=0 antes... activado1 = 1; // marca activado=1 y guarda el tiempo de inicio. inicio1 = millis();

7


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

https://mecatronica-itsa.blogspot.com/ final1 = inicio1 + 1000; } actual1 = millis(); // Consulta el tiempo actual. if (activado1 == 1 && (actual1 > final1) ) { T1 = HIGH; } else { T1 = LOW; }

} //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void desactivetemp1() { T1 = LOW; activado1 = 0; inicio1 = 0; final1 = 0; actual1 = 0; } //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

//SUBRUTINA TEMPORIZADOR 2 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void activetemp2() { if (K2 && activado2 == 0) { // Si ha pulsado HIGH y no ha sido activado2 = 1; // marca activado=1 y guarda inicio2 = millis(); final2 = inicio2 + 1000; } actual2 = millis(); // Consulta el tiempo actual. if (activado2 == 1 && (actual2 > final2) ) { T2 = HIGH; } else { T2 = LOW; } } //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void desactivetemp2() { T2 = LOW; activado2 = 0; inicio2 = 0; final2 = 0; actual2 = 0; } //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

8

- - - - - - - - - -

activado=0 antes... el tiempo de inicio.

- - - - - - - - - -

- - - - - - - - - -


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

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

9


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

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

http://www.youtube.com/c/JovannyDuque? sub_confirmation=1_ __________________________________ Jovenes, este material ha sido elaborado con mucho gusto. Si te es util Rega lame un Like, comenta y suscríbete :) (っ◕‿◕)

Amigos/as en el BLOGG MEKATRONICA J DUKE 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/ https://www.mecatronica.com.co/

10


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.