Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUÍA DE LABORATORIO
Indicaciones:
1. INTRODUCCIÓN
Para esta experiencia de laboratorio se usará la primera estrategia de control de las tres antes mencio-
nadas. Un sistema de control es una interconexión de componentes que dan lugar a la configuración
del sistema de control, la respuesta del sistema dependerá de dicha configuración. Un sistema de
control para regular la velocidad angular de un motor DC, se desarrolla con las tarjetas electrónicas
ARDUINO, en esta experiencia de laboratorio las plaquitas ARDUINO son la interface entre la compu-
tadora(LabVIEW) y el mundo exterior.
El objetivo de esta experiencia de laboratorio es controlar la velocidad angular de un motor DC, hacien-
do uso de una tarjeta de adquisición de datos de bajo coste como es ARDUINO, interconectada con un
controlador PID en un VI(Virtual Instrument) de LabVIEW.
2. OBJETIVOS
Principal: Entender, comprender, familiarizarse con las acciones de control proporcional, derivativa e
integral, que constituyen a un controlador PID, que se utiliza para el control de un Motor DC, con
Encoder incremental, haciendo uso del LabVIEW, así como de “Librerías” del LabVIEW que per-
mitan el manejo sencillo de las placas electrónicas Arduino, en tiempo real, y desde una VI(Virtual
Instrument) creada en LabVIEW.
Secundario 1: Aprender el software LabVIEW, así como sus librerías LINX, LIFA, de manera básica.
Secundario 2: Aprender el software Arduino(IDE), y sus diferentes herramientas( Serial Monitor, Serial
Plotter, etc) de manera básica.
Secundario 3: Desarrollar un programa en Arduino para la medición de la velocidad angular del eje
del motor, empleando para la medición un Encoder incrementala.
a
Existen muchos proyectos en la web en la que se hace medición de la velocidad angular de un eje en rotación, bastaría
basarse en algunos de ellos si es que tienen complicaciones.
1
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
3. FUNDAMENTO TEÓRICO
Perturbación
Salida del
e t controlador Variable de proceso
+ Controlador + PLANTA O
+ PROCESO
Setpoint - PID
SENSOR
Variable del proceso
medida
A diferencia de un algoritmo de control proporcional simple, el controlador PID es capaz de manipu- lar
las entradas del proceso, basándose en el historial y tasa de cambio de la señal. Esto da como
resultado un método de control mas exacto y estable [2]. La idea básica es que el sistema de control
lee el estado del sistema mediante un sensor, luego, el sistema sustrae dicha medición de la referencia
deseada(Setpoint), la sustracción anterior da como resultado el error e(t). Se maneja a la señal de error
e(t) de tres maneras:
Modulación por ancho de pulso o PWM(siglas en inglés), es una técnica que sirve para suministrar po-
tencia eléctrica a una carga que tiene una velocidad de respuesta relativamente bajab. La señal que se
b
Dentro de los actuadores industriales que tiene velocidad de respuesta relativamente baja se encuentran los motores en
2
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
general
3
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
suministra consiste en un tren de pulsos(voltaje) de tal manera que el ancho de los pulsos individuales
controla el nivel de voltaje efectivo que se inyecta a la carga. Tanto las señales eléctricas DC y AC se
pueden simular con el PWM. El tren de pulsos cuadrados PWM se comporta como una señal eléctrica
DC cuando los dispositivos que reciben la señal tienen un tiempo de respuesta electromecánico que
es menor que la frecuencia de los pulsos cuadradados. Para un motor DC, la energía almacenada en
sus devanados suaviza efectivamente las ráfagas de energía suministradas por los pulsos de entrada,
de modo tal que el motor experimenta una entrada de potencia eléctrica mayor o menor dependiendo
de el ancho de los pulsos. La Ecuación (1) muestra la señal de voltaje correspondiente a un pulso de
duración τ0, dicho pulso es periódico, se repite cada τc unidades de tiempo. La salida de un canal PWM
es Vs voltios durante el pulso o bien 0 voltios cuando la señal esta ausente. Si esta señal se suministra
como una entrada a un dispositivo que tiene una respuesta de tiempo mucho mayor que τc, dicho dis-
positivo experimentará la señal de entrada como si esta fuera una del tipo DC, con un voltaje efectivo
que viene dado por la Ecuación (1).
.
τ0 (1)
Vef f = Vs
τc
τ0
El ratio es conocido como “duty cycle” de la onda cuadrada. El voltaje DC eficaz suministrado a
τc
la carga se controla mediante ajuste del “duty cycle”. Un Arduino UNO tiene 14 pines digitales de
entrada/salida(I/O). La operación normal de estos pines digitales I/O se controla con las funciones:
pinMode(), digitalRead(), digitalWrite(). A continuación una breve explicación de estas funcio-
nes:
1. La función pinMode() se usa para configurar un pin como una entrada o salida digital.
2. Cuando un pin digital I/O ha sido configurado como una entrada digital, la función digitalRead()
lee el estado actual del pin, dicho estado puede ser alto(1) o bajo(0). Electricamente, un valor de
alto significa que el voltaje del pin es cercano a 5v, un valor de bajo significa que el voltaje del pin
es de 0v.
3. Cuando un pin digital I/O es configurado como salida, la función digitalWrite() se utiliza para
setear el voltaje del pin a alto o bajo.
En Arduino UNO, podemos usar salidas PWM en los pines digitales I/O 3, 5, 6, 9, 10 y 11. En estos
pines se utiliza la función analogWrite() para setear el “duty cycle” del tren de pulsos PWM, este último
opera a una frecuencia aproximada de 500Hz, entonces, con una frecuencia fc = 500Hz, el periodo es
1
τc = ≈ 2ms. Antes de emitir una señal PWM en un pin digital I/O, primero es necesario configurar a
fc
dicho pin como salida, para ello se usa la función pinMode(). La salida de voltaje digital de un Arduino
UNO es de 0v o 5v. Entonces, en la Ecuación (1), Vs = 5v. Si se genera un tren de pulsos PWM en un
pin, entonces, con la función analogWrite() se setea un valor entre 0-255(8 bits o un byte), que se
corresponde a un voltaje eficaz en el rango de [0,5]v.
En la Figura 2 se ilustra un tren de pulsos cuadrados, es obvio que se cumple la relación expresada en
la Ecuación (2).
4
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
PWM_out_level τ0
= (2)
255 τc
Se sabe que la definición de voltaje eficaz es:
.∫
τc 2
v (t)dt
Vef f = 0
(3)
τc
τc
La Ecuación (5) es el voltaje eficaz que se suministra a una carga a través de un pin, debe de asegurarse
que el consumo de corriente de dicha carga no exceda los 40mA, caso contrario, el Arduino UNO se
quemará.
Para el manejo de cargas electromecánicas mediante Arduino, es usual conectar el pin que genera el
tren de pulsos PWM a un puente H, de esta manera se logra manejar cargas que consumen corrientes
“grandes”, el circuito electrónico del puente H suministra la potencia eléctrica necesaria a la carga, la
señal PWM generada en un pin del Arduino tan solo seria una señal de mando de baja potencia.
Para este laboratorio ustedes conectarán el pin del Arduino que genera la señal PWM, a un puente
H(Ejemplo:L298N), este último estará conectado directamente al motor DC, en este escenario, el voltaje
eficaz que se inyecta al motor DC viene dada por la Ecuación (6).
.
PWM_out_level
Vef f = VPuente × (6)
255
5
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
VPuente depende de las especificaciones eléctricas del motor DC y del puente H, puede ser 5v, 12v, 24v,
etc.
6
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
Un sketch para el Arduino actúa como un motor de I/O que interactúa con Virtual Instruments(VIs) de
LabVIEW, a través de una conexión serial. Esto permite trasladar información del Arduino al LabVIEW
sin efectuar ajustes en la comunicación, sincronización o incluso una línea de código simple. Usando
los comandos convencionales Open, Read/Write, Close en LabVIEW, se puede acceder a señales
digitales, analógicas y de PWM en el Arduino. El Arduino debe de conectarse a la computadora con el
LabVIEW a través del USB, puerto serial(RS232) o Bluetooth.
7
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
8
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
Figura 6 – Esta figura evidencia las diferencias entre Figura 7 – Motor KITASHIBA DMM-F019A0-F01
un Encoder incremental y uno absoluto. DC24V, este motorcito tiene 100 ranuras en su Enco-
der, se puede conseguir fácilmente en Leticia-Paruro.
5. Osciloscopio.
6.Multímetro.
7.Fuente simétrica.
8.Cables USB para Arduino.
9.Conectores rápidos macho-hembra/macho-macho.
10.Software LabVIEW, paquetes LINX d o LIFAe.
11.Arduino Software(IDE) f.
d
Ver el link: http://sine.ni.com/nips/cds/view/p/lang/es/nid/212478
e
Ver el link: https://naylampmechatronics.com/blog/23_TUTORIAL-ARDUINO-Y-LABVIEW.html
f
Se utilizará para cargar los programas al Arduino, adicionalmente, si es que la primera parte del Laboratorio, la visualiza-
ción de la velocidad angular del Motor DC, no logran visualizarla en tiempo real en el VI de LabVIEW, entonces, como último
recurso pueden utilizar el “Serial Plotter” del Arduino(IDE).
9
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
El programa generalmente comienza con el bucle while en el diagrama de bloques e inicializa las
conexiones del Arduino a la interfaz de LabVIEW. Las herramientas necesarias se pueden encontrar en
la paleta del Arduino (disponible después de instalar el paquete LIFA).
Panel frontal del Sistema de Control de Lazo Abierto, ver Figura 10.
10
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
El control de un motor DC usando PWM significa la controlabilidad del Arduino y del LabVIEW. La
interfaz gráfica de usuario creada por LabVIEW es extremadamente agradable y fácil de usar. Varios
controladores como los PID, filtros analógicos y digitales, etc, pueden ser incorporados en las versiones
avanzadas del sistema de control de lazo cerrado(el bloque PID esta disponible en LabVIEW, en la
paleta “Control System”) [3]
Con respecto a la visualización en tiempo real de la velocidad angular del eje del motor DC, para ello
se utilizará el encoder incremental que esta acoplado al eje del motor DC, el Arduino NANO, y un
algoritmo(programa) que calculará la velocidad angular del eje del motor. Se enunciarán los modos
disponibles para visualizar en tiempo real la velocidad angular ω del eje del motor DC:
11
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
Figura 11 – Parte del panel frontal en donde se aprecia al “Waveform Graph”, este último gráfica la data que el Arduino NANO
envía a través de su respectivo puerto COM.
2. El Arduino NANO mediante su algoritmo calcula el valor de ω, después envía el valor de ω median-
te el Pin Serial Port TXD, al Arduino UNO, este último debe recepcionar el valor de ω y después
enviárselo al LabVIEW haciendo uso del puerto COM al cual se encuentra conectado, una vez
que el dato sea recepcionado por el LabVIEW, entonces se procederá a graficar el valor de ω en
tiempo real, para ello se usará el “Waveform Graph”. Si es que fuera posible, también se podría
utilizar el “Serial Plotter” del Software Arduino(IDE).
Se tiene que crear el siguiente VI(Virtual Instrument) en LabVIEW, ver Figura 12.
El controlador PID compara el valor del Setpoint con el valor sensado por el Arduino NANO, dicha
diferencia es el error e(t). El controlador PID tratará de minimizar este error y que el Motor DC tenga la
12
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
En la Figura 13 se aprecia que el Setpoint esta en señal PWM, para este laboratorio se utilizará un
Setpoint en rad/s o RPM, esto último implica que se debe de conocer ωmax y ωmin a las señales PWM de
255 y 0 respectivamente. La respuesta del sistema puede variar mediante la variación de las ganancias
del controlador PID. Estos VI se quemarán en el Arduino usando LIFA_Base y se conectarán con el
Motor DC. El Setpoint, establecido por el usuario, se enviará al controlador PID(para compararlo), se
obtendrá el error e(t), este último sera procesado por el controlador PID, la señal a la salida del PID
aun necesita procesarse para convertirse en una de tipo PWM, este procesamiento es evidente en la
Figura 12, finalmente se tiene un tren de pulsos cuadrados PWM en un Pin del Arduino UNO, dicha
señal PWM se alimenta al Puente H L298N, este último esta conectado en serie al motor DC. Para este
laboratorio el tacómetro que nos permitirá medir la velocidad angular ω del eje del motor DC, esta
constituido por los siguientes componentes electrónicos: Encoder incremental, electrónica que genera
tren de pulsos cuadrados, Arduino NANO. Es muy importante mencionar que el Arduino NANO procesa
el tren de pulsos cuadrados y lo convierte a velocidad angular ω, para ello emplea un algoritmo, se
pueden encontrar muchos algoritmos en la web, por ejemplo: Pinchar aquí.
Adicionalmente, al VI de la Figura 13 se le debe adicionar un “Waveform Graph” en donde se visualizará
simultáneamente, el valor del Setpoint y el de la velocidad angular ω sensada por el Arduino NANO.
Al VI de la Figura 13(ya con el “Waveform Graph”) se le puede modificar las ganancias de su controlador
PID, es decir, el Kp, Ki y Kd, esto genera que cambie el comportamiento dinámico de la respuesta ω,
esto se apreciará claramente en el “Waveform Graph”, también es posible que se logre visualizar el
comportamiento en estado estacionario.
6. PREGUNTAS DE EVALUACIÓN
Se sabe que un controlador PID es la acción simultánea de 3 acciones básicas de control, estas son:
la proporcional, la integral y la derivativa. La acción de control proporcional varia cuando cambiamos la
13
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
ganancia correspondiente, es decir Kp, lo mismo pasa para las acciones de control derivativa e integral,
cambian cuando variamos las ganancias Kd y Ki respectivamente.
Se pide lo siguiente:
• Varíe la acción de control proporcional, manteniendo las restantes constantes, observe y apunte
cuidadosamente que observa en la respuesta del sistema de control, tanto en estado transitorio
como estacionario. Haga exactamente lo mismo con las otras dos acciones de control.
7. RESULTADOS Y CONCLUSIONES
7.1. RESULTADOS
𝐾𝑝
𝑃𝐼𝐷 = 𝐾𝑝 + + 𝐾𝑝 ∗ 𝑇𝑑 ∗ 𝑠
𝑇𝑖 ∗ 𝑠
PRUEBAS
𝐾𝑝
𝐾𝑑 = 𝑝𝑎𝑟𝑎 𝑢𝑛 𝐾𝑑 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 105
𝑇𝑑
Kp Ti Td
0.1 0.5 10^-6
14
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
Kp Ti Td
0.5 2.5 2^-7
Kp Ti Td
1 5 1^-7
15
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
Kp Ti Td
2 10 5*10^-8
Cuando varia el Ki y se mantiene constante el Kp e Kd. Para logra esto es suficiente con
variar solo el Ti.
Kp Ti Td
0.5 0.5 10^-6
16
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
Kp Ti Td
0.5 1.5 10^-6
Kp Ti Td
0.5 2.5 10^-6
Cuando varia el Kd y se mantiene constante el Kp e Ki. Para logra esto es suficiente con
variar solo el Td.
Kp Ti Td
0.5 2.5 10^-6
Kp Ti Td
0.5 2.5 10^-3
18
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica
Departamento Académico de Ingeniería Aplicada
Control Clásico MT235
Periodo Académico 2018-2
Kp Ti Td
0.5 2.5 10^-2
En la tercera prueba se varió Td. En el cual, a medida que se va aumentando el Td. El tiempo de
asentamiento aumenta de forma brusca, se podría decir que en la última grafica que el tiempo de
asentamiento tiende al infinito.
7.2. CONCLUSIONES
Se logró implementar un controlador PID en L-*abview, logrando entender en la práctica como afecta el
Kp,Ki, Kd. Para esto se mantuvo a dos de ellos constantes y el otro que queda se iba variando para
deducir la lógica que seguía la señal que se mostraba en grafica de la salida del controlador PID.
Se logró familiarizarnos con el entorno de labview
Se logró familiarizarnos con el entorno del arduino.
Se logró comprender el programa que se desarrolló en arduino, para la primera del laboratorio, ya que en
la segunda parte no se usó el programa.
REFERENCIAS
[1]A. Detchrat, V. Tipsuwanporn, A. Numsomran, and S. Suvikath, “IMC-Based PID Controllers Design
for Two-mass System,” Proceedings of the International MultiConference of Engineers and Compu-
ter Scientists(IMECS), vol. 2, March 2012.
[2]I. Kaya, “IMC based automatic tuning method for PID controllers in a Smith predictor configuration,”
Computers & Chemical Engineering, vol. 28, no. 3, pp. 281 – 290, 2004. [Online]. Available:
http://www.sciencedirect.com/science/article/pii/S0098135403002023
[3]N. R. and D. P. Krishna, “Low Cost Data Acquisition and Control using Arduino Prototyping Platform
and Labview,” International Journal of Science and Research (IJSR), vol. 2, no. 2, pp. 366 – 369,
2013.
19