Está en la página 1de 16

PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

INTRODUCCIÓN

Este manual explica la forma básica de utilización del EPC, donde el objetivo de este equipo es facilitar el
aprendizaje de conceptos de teoría de control e instrumentación al poner a disposición del usuario varios
experimentos prácticos listos para usar. Además, habilita la metodología de Aprendizaje Activo (aprender por
medio del desarrollo de proyectos prácticos) que aporta significativamente al aprendizaje que usando
exclusivamente medios teóricos tales como libros de texto, dictados, y resolución de ejercicios.

Finalmente, el EPC es una herramienta diseñada para la introducción del aprendizaje de LabView, Matlab y
Arduino en la adquisición de datos puesto que proporciona plantas físicas reales que funcionan con señales
típicas.

Los experimentos que contiene el EPC son los siguientes:

• Control de Temperatura
• Control de Velocidad de Motor DC
• Control de Posición de Motor Stepper
• Análisis de Sonido (adquisición y análisis de señales AC en dominio del tiempo y de la frecuencia)
• Relé de Propósito General.

* Variable a utilizar es el proceso de velocidad de motor DC.

OBJETIVO

General

• Obtención de la Función de Transferencia del proceso de velocidad de un motor DC mediante el


método de Identificación de sistemas.

Específicos

• Verificar la conexiones básicas y diagrama esquemático del EPC, para el correcto funcionamiento del
proceso de velocidad de un motor DC.
• Comunicación entre software Arduino y LabView.
• Utilización del módulo Arduino para la manipulación y control del motor de velocidad I/O.
• Monitoreo y Adquisición de datos de entrada y salida de la variable velocidad del EPC en el software
LabView.
• Utilización del software Matlab para obtener la función de transferencia mediante el proceso de
Identificación de Sistemas de la variable de velocidad.

HERRAMIENTAS

Hardware:

• Entrenador de Planta De Control EPC.


• Fuente de poder AC/DC de 12V.
• Tarjeta Arduino “UNO, MEGA, DUO”.
• Protoboard, cables de conexión
• Computador con “LabView, Matlab, Arduino”.
• Destornillador pequeño.
Software:

• LabView 2015 o superior.


• Matlab 2015 o superior.
• Instalación Toolkit de LabView “NI_VISA”, “Serial”
• Para posteriores practicas instalar Toolkit de control PID.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

DIAGRAMA ESQUEMÁTICO Y CONEXIONES BÁSICAS

En la figura, se presenta el diagrama esquemático ubicando las partes principales del equipo.

• Conectar la Fuente de Poder de 12VDC.


• Pin interno positivo
• carcasa negativa.

* El LED de poder se enciende cuando se conecta

CONEXIÓN ARDUINO Y EPC

Realizar las siguientes conexiones entre el EPC y la tarjeta ARDUINO:

1. Conectar una salida digital de la tarjeta ARDUINO a la entrada de control del Motor DC
MOTOR DC IN.
2. Conectar la referencia GND de la tarjeta ARDUINO a la referencia GND del EPC.
3. Conectar la salida del encoder del Motor DC del EPC llamada ENCODER MDC a la
entrada analógica de la tarjeta ARDUINO.
4. Conectar la fuente de poder del EPC.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

5. Abrir el programa adquisición de datos analógica “velocidad.vi” y “velocidad.ino”. LabView y Arduino.

INTERFAZ DE LABVIEW CON ARDUINO

Para comenzar, es necesario contar con lo siguiente:


• Una tarjeta Arduino (UNO, MEGA, DUO)
• Arduino IDE
• LabView
• NI Visa
• Serial

1. La comunicación se realiza por comunicación serial. En el diagrama de bloques de LabView se muestra los
subvi, utilizados para realizar la comunicación y adquisición de datos para generar la función de transferencia
de proceso de velocidad.

Programa LabView

Para la realización del programa de LabVIEW escogemos como plantilla un documento en blanco -> blank.vi

Lo primero que haremos es situarnos en la ventana de diagrama de bloques (la de fondo blanco).
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

Pulsamos con el botón derecho sobre ella, desplegando el menú de funciones y nos desplazamos hasta la
categoría Instrument I/O -> Serial.

A continuación, insertamos los bloques Configure Serial Port, Read, Write, Close y Bytes at Port.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

Lo siguiente es crear el bucle While (Functions -> Programming -> Structures -> While Loop) donde
ejecutaremos el programa e introducimos en él los bloques de Read y Bytes at Port.

Ahora crearemos dos controles para poder seleccionar el tipo de placa que utilizaremos y la velocidad de
transmisión. Para ello, en el bloque Configure Serial Port hacemos click derecho sobre la opción que deseemos
y seleccionamos Create -> Control.

Si lo hemos realizado correctamente deberán aparecernos esos controles en el panel de control.

Ahora realizaremos un bucle para la lectura del puerto Serial, de esta forma solo leeremos el puerto si existe
algún dato en él. Para ello creamos una estructura Case (Functions -> Programming -> Structures -> Case
Structure).
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

La condición para que el caso sea cierto viene dada si existen datos en la comunicación, esto lo podemos
comprobar si comparamos la salida del bloque Bytes at Port con el bloque Greater than 0 (Functions ->
Programming -> Comparison -> Greater than 0).

Para poder mostrar los datos que hemos recibido conectamos un Indicator a la salida del bloque Read.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

Para finalizar con el bloque de lectura, vamos al caso False y cableamos la entrada del bloque con la salida, de
esta forma indicamos que no realizaremos ninguna acción en el caso de que no existan datos en la
comunicación.

Por último, creamos un control para la salida del bucle While.

Para el correcto funcionamiento del programa es necesario añadir un delay al bucle While (Functions ->
Programming -> Timing -> Wait Until mes ms Multiply), al que le introduciremos un valor de 200.

En el panel de control tendremos los siguientes elementos


PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

Para la ejecución del programa solo será necesario la selección del puerto y pulsar sobre el botón de ejecución.

Si ahora quisiéramos mostrar el valor en un indicador gráfico y graficar su valor debemos añadir los siguientes
bloques: Search/Split String (Functions -> Programming -> String -> Additional String Functions), Decimal String
to Num (Functions -> Programming -> String -> Number/String Converion) y desde el panel de control Waveform
Chart (Modern -> Graph).
El primer bloque analizará el mensaje recibido y le pediremos que lo separe cuando encuentre el primer carácter
de espacio (” “). Con esto habremos eliminado la palabra “mensaje: “y nos quedaremos solo con el valor
numérico del sensor.
La salida del bloque anterior se conecta al siguiente con el fin de convertir el formato String en uno numérico.
Aunque tengamos un espacio al principio del String que pasamos, a LabVIEW eso no le importa y lo convierte
sin problemas, de todas formas, si hay problemas se puede hacer la conversión con un desfase de 1 carácter.

Para la parte de escritura la conexión es seguida y se procede a realizar las mismas conexiones, más adelante
se observa la programación completa.
Consideraciones adquisición de datos:
a. El control numérico tipo Slide Entrada(voltaje) es el voltaje de salida del Arduino, que puede tomar valores
entre 0 y 5 voltios.

b. El indicador grafico tipo Chart Señales muestra un historial de los valores de voltaje y de velocidad que se
han generado. Las magnitudes de estas señales están en Valores Por Unidad (VPU). Para el Voltaje el limite
máximo es 5 Voltios. Para la Velocidad el limite máximo es 4500 RPM.

c. El indicador tipo Gauge Velocidad indica la velocidad del eje en revoluciones por minuto (RPM). El disco del
encoder tiene 36 ranuras.

El botón de STOP detiene el programa. Es importante detener el programa utilizando este botón y no el botón
de abortar de la barra de herramientas porque así se asegura que al parar el programa se detenga guarde los
datos de ENTRADA Y SALIDA.
Modificar el valor de Voltaje y observar como varia la velocidad. Cuando el voltaje está en su máximo valor (5
V), la velocidad toma su máximo valor (cerca de 4500 RPM).

d. Para observar la curva de arranque y parada del motor puede aplicarse sucesivamente valores de 0V y luego
5V al voltaje, y notar en la Grafica Señales la forma en que la velocidad responde a esta señal de estímulo tipo
escalón, típica de un motor DC.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

e. Abrir el diagrama de bloques para analizarlo.


1. La señal adquirida del Encoder en forma analógica es procesada para obtener su frecuencia y su
amplitud.
2. Si la amplitud es menor que 1 significa que el Motor DC no está girando, por lo tanto, el encoder
entregará una señal sin pulsos (y que puede estar en estado alto o bajo según donde haya parado el
disco), y la frecuencia que se mide será la del ruido de la señal, mas no de la velocidad.
3. Si la amplitud de la señal es mayor que 1 el motor estará girando y el Encoder entregará una señal
tipo tren de pulsos. Entonces la frecuencia medida si será la cantidad de pulsos por segundo.
4. Las operaciones siguientes son para transformar la frecuencia en revoluciones por
minuto (RPM).
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

Programa Arduino

/* --- VARIABLES PARA LEER DESDE ARDUINO Y ENVIAR A LABVIEW --- */


int MDC = A0; //Definimos el pin del MDC
int MDCLectura = 0; //Variable donde guardaremos la lectura del MDC
String mensaje = "mensaje: "; //String para enviar el mensaje
String MDCValor; //String para convertir el valor del MDC
String val;

/* --- VARIABLES PARA ENVIAR A RDUINO Y RECIBIR DE LABVIEW --- */


int transistorPin = 9; // Pin para enviar la PWM por el transistor
int Valor_MOTORIN = 0; // Valor que nos devuelve el MOTOR IN

/* --- SETUP ---*/


void setup() {
pinMode(transistorPin, OUTPUT); //Definimos como pin de salida el transistor
Serial.begin(9600); //Iniciamos la comunicación serial
}

/* --- LAZO PRINCIPAL --- */


void loop() {

/* --- ENVIAR POR SERIAL A LABVIEW --- */


MDCLectura = analogRead(MDC); //Leemos el valor del MDC
MDCValor = String(MDCLectura); //Conversión de la variable del valor del MDC
mensaje = mensaje + MDCValor;
Serial.print(mensaje);
mensaje = "mensaje: "; //Reestablecemos el valor de la variable mensaje

// Leemos el valor del PUERTO SERIAL LABVIEW y lo normaliamos entre 0 y 255


val = Serial.read();
int a = val.toInt();
Valor_MOTORIN = a*51;
analogWrite(transistorPin, Valor_MOTORIN);
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

delay(100); //Introducimos un delay

Es la secuencia para enviar y recibir desde LabView mediante Arduino y controlar la velocidad del motor.

FUNCIÓN DE TRANSFERENCIA CON MATLAB

Identificación es la determinación, en base a la ENTRADA y la SALIDA, de un sistema, dentro de una clase de


sistemas especificada, al cual el sistema probado es equivalente.

Parámetros para la obtención de la función de transferencia

• Entrada
• Salida
• Tiempo de muestreo

1. Abrimos Matlab, creamos dos variables llamadas Entrada y Salida.

2. Dar doble click en las variables creadas, en el cuadro copiamos los valores almacenados del archivo generado
por LabView .xls.

3. Para abrir la herramienta de identificación del sistema, escribir en la ventana de comandos de MATLAB “Ident”
o "systemIdentification". Inmediatamente se abre la Interfaz Gráfica para el Usuario.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

4. En la herramienta de identificación del sistema, seleccione “Import data” seguido de “Time domain Data”.
Esta acción abre el cuadro de diálogo Importar datos.

5. En el cuadro de diálogo Importar datos, especifique las siguientes opciones:

• Entrada: Introducir el nombre de la variable de entrada en la cual se encuentra guardado los datos, en
este caso será Entrada.
• Salida: Introducir el nombre de la variable de salida en la cual se encuentra guardado los datos, en
este caso será Salida.
• Nombre de los datos: Cambiar el nombre por defecto a los datos. Este nombre etiqueta los datos de
la herramienta de identificación del sistema después de que se complete la operación de importación.
• Hora de inicio: Designar el valor de partida del eje de tiempo en el gráfico.
• Intervalo de muestreo: Es el intervalo de muestreo real en el experimento.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

En el área Información de datos, haga clic en “More” para expandir el cuadro de diálogo y especifique las
siguientes opciones:

Propiedades de entrada:
• Entre muestras: Aceptar por defecto “zoh” (mantenedor de orden cero) para indicar que la señal de
entrada era por tramos y constante entre muestras durante la adquisición de datos. Esta configuración
específica el comportamiento de las señales de entrada entre las muestras o cuando transforma las
representaciones de modelos resultantes entre tiempo discreto y en tiempo continúo.
• Período: Aceptar la información predeterminado para especificar una entrada no periódica.

• Nombres de los canales: Permite ingresar los nombres a los canales con su respectiva variable física
ayudando a identificar los datos de la gráfica.

Voltaje.
Velocidad

• Unidades físicas de Variables: Permite ingresar las unidades de las variables físicas utilizadas para la
identificación de sistema.

(v).
(rpm).

6. Hacer clic en “Import” para agregar los datos a la herramienta de identificación del sistema. La herramienta
muestra un icono para representar los datos.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

Hacer clic en “Close” para cerrar el cuadro de diálogo de importar datos.

7. En la herramienta de identificación del sistema, seleccione la “Time plot” para abrir el Gráfico de tiempo.

8. En la herramienta de identificación del sistema, seleccione “Preprocess” y luego “Select range”. Esta
acción agrega un nuevo conjunto de herramientas para la validación del sistema con el nombre F.T.PRUEBA
al presionar Insert, por defecto los datos se muestran y se actualiza la ventana de gráfico de tiempo para que
aparezca el original y los datos de validación dando click en Time plot.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

9. Arrastrar el conjunto de datos al rectángulo de datos de trabajo

10. En la herramienta de identificación del sistema, arrastrar y soltar la F.T. Velocidad al rectángulo de datos
de trabajo, y arrastrar y soltar F.T.PRUEBA al rectángulo de validación de datos.

11. Para obtener información sobre un conjunto de datos, haga clic derecho en su icono. Por ejemplo, haga clic
en los datos de estimación establecidos para abrir el cuadro de diálogo Información de Datos / modelo.
12. De la lista desplegable “estimate”, seleccionar el modelo preferentemente con el que se va a trabajar en
este proyecto y el que represente de mejor manera las características del sistema dinámico a estudio. Función
de transferencia.

13. Elegir el número de polos y número de zeros para realizar la estimación respectiva. Presionar Estimate y
automáticamente empieza a generar el porcentaje de estimación, al terminar cerramos las pantallas auxiliares
y damos click derecho al icono de tf1 y observamos la función de transferencia generada.
PRACTICA: Identificación de sistemas Función de Transferencia (Proceso de Velocidad)

EPC “Entrenador de Planta de control” + MATLAB + LABVIEW + ARDUINO

14. Seguido presionamos Model Ouput, automáticamente nos muestra la señal original comparada con la
validación y la similitud de porcentaje de la respuesta de la función de transferencia encontrada anteriormente.

15. Finalmente puede generar diferentes modelos en función de transferencia para diferentes polos y zeros y
además de ingresar nuevas muestras, etc. Debe empezar nuevamente del paso 1.

También podría gustarte