CADe_SIMU 4. Arranque y parada de motor con Arduino

La versión 4 de CADe_SIMU nos permite incluir un Arduino en el circuito para que interactúe con los elementos simulados. En este artículo vamos a ver a modo de ejemplo cómo utilizarlo para realizar el arranque y parada de un motor trifásico con dos pulsadores y lectura del relé térmico.

Introducción

En un articulo previo explicaba de que manera podemos agregar un Arduino UNO a nuestros circuitos en CADe_SIMU y vimos que en realidad el Arduino no es simulado sino que necesitamos tener un Arduino real, con el programa que queremos incluir en la simulación ya cargado y conectado a través de un puerto USB.

En esta ocasión les voy a mostrar un ejemplo, aplicado al arranque de un motor trifásico.

El circuito

Consiste en un circuito básico de arranque y parada de un motor trifásico, cuyo esquemático podemos ver en la siguiente imagen:

Fig. 1. Arranque y parada de un motor trifásico con Arduino

Como pueden apreciar, el circuito tiene un contactor K1 que es el que actúa sobre el motor trifásico. La bobina de este contactor está conectada a la salida 2 del Arduino. Al Arduino además se conectan dos pulsadores de control del motor: S2 (entrada 9) para ponerlo en marcha y S1 (entrada 8) para pararlo. Como medida de protección, el motor tiene un relé térmico que cierra el contacto F (entrada 10) si se produce una sobrecarga, situación en la cual vamos a abrir el contactor y encender la luz de alarma H (salida 3). La condición de alarma se mantendrá aunque se desactive la entrada del relé térmico (entrada 10) y sólo podremos arrancar de nuevo el motor si actuamos sobre el pulsador CLEAR (entrada 11).

Recuerden que los circuitos eléctricos del Arduino deben cerrarse siempre por GND y 5V del mismo Arduino en CADe_SIMU.

Esta es la configuración del Arduino:

Configuración del Arduino en CADe_SIMU

Circuito

En el Arduino no es necesario que armemos ningún circuito. No es necesario que conectemos nada a las entradas ni a las salidas, todo el control lo realizará CADe_SIMU

El programa

El programa grabado en el Arduino que hace que este circuito funcione es el siguiente:

//Ejemplo Arranque y parada

define MOTOR 2
define PILOTO 3
define STOP 8
define START 9
define TERMICO 10
define CLEAR 11

#include  <PC_SIMU.h>
PC_SIMU Arduino;

boolean AlarmaTermico;

void setup() {

    pinMode(MOTOR, OUTPUT);   //Salida Motor
    pinMode(PILOTO, OUTPUT);  //Indicador Error

    digitalWrite(MOTOR, 0);   //Arranca motor parado
    digitalWrite(PILOTO, 0);  //Arranca lampara apagada

    pinMode (STOP, INPUT);    //Entrada pulsador STOP
    pinMode (START, INPUT);   //Entrada pulsador START
    pinMode (TERMICO, INPUT); //Entrada contacto aux relé térmico
    pinMode (CLEAR, INPUT);   //Entrada CLEAR de alarma

    AlarmaTermico = false;

    Arduino.INI(); 

}

void loop() {

    //Ver pulsador START
    if (digitalRead (START) && (AlarmaTermico==false)) {
        digitalWrite(MOTOR, 1);
    }  

    //Ver pulsador STOP
    if (digitalRead (STOP)) {
        digitalWrite(MOTOR, 0);
    }     

    //Ver contacto del térmico
    if (digitalRead (TERMICO)) {
        digitalWrite (MOTOR,0);
        digitalWrite (PILOTO,1);
        AlarmaTermico = true;
    }
    
    //Ver pulsador de CLEAR
    if (digitalRead (CLEAR)) {
        digitalWrite (PILOTO,0);
        AlarmaTermico = false;
    }
}

Analicemos el funcionamiento de este código:

En el inicio tenemos algunas definiciones (define) de entradas y salidas, que podemos cambiar si modificamos el circuito.

Luego, en las líneas 10 y 11 incluimos la librería PC_SIMU, indispensable para comunicarnos con CADe_SIMU y luego creamos el objeto Arduino.

En la línea 13 definimos la variable AlarmaTermico, de tipo booleana, que va a indicar si se activo el relé térmico por una sobrecarga en el motor.

En la función setup se definen las salidas y entradas con pinMode y se inicializan a cero las salidas. También inicializamos en false la variable AlarmaTermico y llamamos al método INI del objeto Arduino para inicializar la comunicación.

En la función loop se va comprobando el estado de las entradas y actuando en consecuencia:

En la línea 36, si se aprieta START y no hay una condición de sobrecarga, activamos la salida del contactor para poner el marcha el motor.

En la línea 41, si se aprieta STOP, desactivamos la salida del contactor y paramos el motor.

En la línea 46, si se cierra el contacto auxiliar del relé térmico porque hubo una sobrecarga, paramos el motor, prendemos la luz de alarma y ponemos en true la variable AlarmaTermico, indicando la falla.

Finalmente en la línea 53, si se pulsa CLEAR, “limpiamos” la falla apagando la luz de alarma y poniendo en false AlarmaTermico, con lo que el motor está de nuevo en condiciones de ser puesto en marcha.

Este es sólo un programa de prueba, para mostrar las posibilidades de incluir un Arduino UNO en nuestras simulaciones con CADe_SIMU.

Funcionamiento

Aquí pueden ver el circuito en funcionamiento:

La simulación en funcionamiento

¿Qué pasa con las entradas del Arduino?

Seguramente algunos se preguntarán cómo puede funcionar un programa de Arduino en el que tomamos decisiones en base a los valores de las entradas, si no hay nada conectado a las mismas..

En este caso no es necesario que conectemos nada a las entradas porque la librería PC_SIMU toma la información que le envía CADe_SIMU cuando actuamos sobre una entrada en el simulador y le hace creer al Arduino que esa entrada se activó a nivel de hardware.

Pueden probar de activar las entradas de la placa, en este caso conectando un cable, por ejemplo entre 5V y la entrada 9 (START). Verán que en CADe_SIMU el motor se pone en marcha, pero el pulsador de START conectado a esa entrada no muestra actividad. Es que el flujo de información en este caso es en una sola dirección y CADe_SIMU sólo está recibiendo información de lo que sucede en las salidas del Arduino.

Espero que este ejemplo les haya ayudado a comprender mejor el empleo del Arduino en CADe_SIMU y les sirva para hacer sus propios circuitos. Cualquier sugerencia o consulta, pueden escribirla en la sección de comentarios.

3 comentarios en «CADe_SIMU 4. Arranque y parada de motor con Arduino»

  1. Professor, sou estudante de eletrotécnica e me indicaram o CADeSIMU 4.O… Como faço para ter acesso e baixar
    Será muito importante para minha formação.

    Responder
  2. Hola muy buena explicación, pero si el motor es monofásico y se quiere hacer una inversión de giro y se necesitan tres KM, ¿cómo se haría en Cadesimu?
    En lugar de pulsadores de arranque y parada tubiese un mando a distancia con un pulsador que si lo activo gira en un sentido y si doy de nuevo gira en el siguiente?.
    muchas gracias.

    Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias