INFORME DE PRÁCTICA DE LABORATORIO Versión 1.
0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Control en Tiempo Discreto
Bautista Suarez Daniel Felipe
[Link].bautista3@[Link]
Profesor: Mauricio Mauledoux
Resumen—En el presente informe se presenta el desarrollo de la guía de laboratorio #3 de la materia “Tópicos Avanzados de
control” en donde a partir del modelado y caracterización electromecánico como lo es un “motor DC” y a partir de esto se llevaron a
cabo el complemento de las ecuaciones dadas para obtener sus funciones de transferencia y poder controlarlas mediante diversos
“Controles Discretos” ante diversas referencias.
Palabras clave—Motor DC, Caracterización, Identificación de variables, SystemIdentification, Polos y Ceros, Ganancias, Controles
Discretos.
de las Raíces, control por Compensador en Frecuencia, control
por anulación de Planta, control por oscilaciones muertas y
I. INTRODUCCION control por Servosistema con Observador de estados.
E n el presente informe de laboratorio se presenta el
desarrollo de la práctica de laboratorio #3, en donde
lograra controlar un sistema electromecánico “Motorreductor
Estos controles se reunieron en una interfaz gráfica única
desarrollada en “AppDesigner” del programa Matlab, donde
con Encoder” mediante diversos métodos discretos para llegar mediante selección podemos ver gráficamente Señal de
a controlar la velocidad y el torque que este puede llegar a control, señal de error y señal de referencia, con la opción de
proporcionar. poder cambiar la referencia trabajada por Señal Cuadrada,
Señal Sinusoidal o Señal Triangular y por último llegar a
Tras esto se realiza el modelado matemático del sistema seleccionar alguno de los 7 controles discreto anteriormente
electromecánico “Motorreductor con Encoder” teniendo en mencionados.
cuenta variables propias del mismo como la Resistencia,
Inductancia, Constante Electromotriz, la Inercia de Carga y Llevando todo a una implementación física se utiliza el
Constante de reducción. Sabiendo que, al ingresar un voltaje, sistema embebido “ESP32-WROVER” en donde conectado a
el motor responde con velocidad angular, torque o corriente un “puente H - L298N” y un sensor de corriente “INA226”
consumida. podemos alimentar el motor de manera dual e iterar su sentido
a gusto de la referencia y de la señal de control, esto conectado
De esta manera fácilmente se puede tener una idea del a una interfaz desarrollada en Python bastante similar a la
comportamiento del Motorreductor. anteriormente descrita en Matlab cumpliendo con la función
Se realiza la toma de datos para la caracterización sobre el de mostrar gráficamente el comportamiento de las señales,
modelo real donde al ingresar voltaje podemos medir la seleccionar el tipo de entrada a seguir por la planta y por
velocidad que este tendrá mediante el sensor de efecto Hall último el tipo de control a utilizar por la planta para el
que tiene y también se puede medir la corriente consumida al seguimiento de la referencia.
añadir un sensor INA226 para posteriormente ingresar esta
toma de datos con relación al Voltaje, tiempo de muestreo y II. OBJETIVOS
respuesta de “Corriente consumida o Velocidad” y obtener la • General: Implementar diferentes estrategias de control en
función de transferencia característica para cada modelo tiempo discreto usando ecuaciones en diferencias.
matemático.
o Diseñar e implementar un controlador PID en
Tras esto se realizan la implementación simulada de controles tiempo continuo y discretizarlo.
discretos para obtener una respuesta igual por parte del motor o Diseñar e implementar un controlador PID en
al ingresarle una referencia, controles como control PID en tiempo discreto.
tiempo continuo, control PID en tiempo continuo discreto, o Diseñar e implementar un Controlador mediante
control PID en tiempo discreto, control por Lugar Geométrico el método del lugar geométrico de las raíces.
o Diseñar e implementar un compensador en
frecuencia en tiempo Discreto.
o Diseñar e implementar un controlador por
anulación de planta
o Diseñar e implementar un controlador por
oscilaciones muertas
o Diseñar e implementar un servosistema en
tiempo discreto.
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
1. Velocidad angular contra voltaje:
IV. DESARROLLO DE LA PRACTICA
Modelado Sistema
Como primer desarrollo, es el modelado representativo de
un sistema Motor – Reductor, teniendo en cuenta un circuito 2. Torque contra voltaje:
equivalente de manera electro - mecánica.
3. Corriente contra voltaje:
Imagen 1 representación simplificada Motor DC
Ahora se realiza el cálculo de la constante electromotriz,
Trabajando el circuito eléctrico, se realiza la identificación realizando el montaje indicado en la siguiente imagen, al
por mallas teniendo en cuenta la resistencia de eléctrica del colocar un peso contrario al torque generado por el motor al
motor, la inductancia y la constante de carga eléctrica propia ingresarle una corriente especifica. Y utilizando las dos
del motor con relación al voltaje ingresado. ecuaciones complementarias del Angulo y corriente
consumida determinando "Km".
Tras esto, se realiza el cálculo de torque y de inercias del
sistema mecánico y así tener la ecuación representativa del
sistema.
Imagen 3 Determinación de constante electromotriz con
corriente consumida al levantar un peso
Con esto se realiza el cálculo de la constante electromotriz
al realizar una media entre las muestras tomadas y así obtener
Teniendo en cuenta entrada del sistema como voltaje y salidas
un valor de “0.2556”:
del sistema como corriente, velocidad angular y corriente
consumida, además al integra la velocidad angular se obtiene
la posición.
Imagen 4 Tabla de cálculo de constante Electromotriz media
entre diversas muestras
Comprobación Modelado Sistema
Ahora se presentan las funciones de transferencia obtenidas
Imagen 2 Representación de entradas y salidas del Motor DC de corriente y torque, en donde se realizará en “Simulink” el
correspondiente comportamiento en el tiempo al ingresarle un
Tras esto se pueden obtener las funciones de transferencia step, tratando de buscar un comportamiento similar al del
de: montaje físico:
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Con esta idea se presenta la función de transferencia de
corriente, el montaje en Simulink en laso abierto, las gráficas
en respuesta comprobando el comportamiento deseado al
ingresarle un valor de 2.3V se espera un valor de salida de una
corriente consumida de 0.17 mA, además de que debe tener
presente el comportamiento del cero, obteniendo así un sobre
pico en su respuesta.
Imagen 8 Representación planta torque ante 2.3V
De esta manera podemos decir que tenemos una función de
transferencia de torque bastante aproximada al funcionamiento
real de nuestro motor DC y además de poder estimar su
comportamiento al tener que cargar con una masa de prueba
de 500g
Imagen 5 Representación Simulink Planta corriente Desarrollo de Interfaz en App Designer
Esta aplicación se encarga de presentar tres señales
simultáneamente “Señal de error, señal de referencia y señal
salida de la planta de torque”, además de permitir hacer la
selección sobre el tipo de señal de referencia “Señal cuadrada,
Señal sinusoidal y señal Cuadrada” y por ultimo permite
realizar la selección sobre el tipo de control a trabajar a partir
de los 7 controles establecidos “control PID en tiempo
continuo, control PID en tiempo continuo discreto, control
PID en tiempo discreto, control por Lugar Geométrico de las
Raíces, control por Compensador en Frecuencia, control por
anulación de Planta, control por oscilaciones muertas y control
por Servosistema con Observador de estados” Ahora se
Imagen 6 Respuesta planta corriente ante 2.3V presentan las funciones de transferencia obtenidas de corriente
y torque.
Ahora realizamos la multiplicación de la función de
transferencia de corriente por la constante electromotriz
calculada “0.2556” además de multiplicarla por una ganancia
buscando que al colocarle un voltaje de 2.3V a esta planta, nos
entregue el torque estimado en la (imagen 4) con valor de
“0.21 N/m” y de esta manera obtener una función de
transferencia estimada a motor DC que aproxime a su
comportamiento real.
�� =
(�) 2)
��(�) 0.02678� + 0.09398
=
Imagen 9 Representación Interfaz Gráfica App Designer
Imagen 7 Representación Simulink Planta Torque
Imagen 10 Acercamiento selección Control y referencia
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Desarrollo de Controles Con esto se discretiza el control mediante el método de
En esta sección se presenta el desarrollo de cada uno de los “tustin” y se implementa como se muestra a continuación:
7 controles a trabajar, con su respectiva implementación en
Simulink y por último sus resultados gráficos en la aplicación 6.582 𝑧 − 5.511
diseñada en App Designer con señal de error, señal de �������_��
������� = 𝑧−1
referencia y señal de control.
• Control Continuo discreto:
Para este control se realiza un planteamiento de ubicación
de polos y ceros, para considerar una reducción de orden
y poder simplificar el sistema a trabajar.
��(�) 0.02678� + 0.09398
=
��(�) 0.000778� 2 + 0.1506� + 1
Presentando a continuación la ubicación de los polos y
ceros gracias a la función “rlocus” aplicada a la función
de torque Imagen 12 Control Continuo discreto frente a tres referencias
Imagen 13 Control continuo discreto entrada escalon
Imagen 11 ubicación de ceros y polos para la función de torque
Con esto en mente se identifican dos cosas, primero que
el polo eléctrico es 10 veces más rápido que el polo
mecánico, por lo cual este se puede reducir y segundo es
que el cero de la función de transferencia se ubica antes
que el polo, lo cual nos indica que el comportamiento del
sistema es oscilatoriamente inestable, para solucionar esto
se debe predisponer de un prefiltros y filtro para dicho
cero y poder obtener una respuesta oscilatoriamente
estable y mejorar la respuesta ante el control. Imagen 14 Control continuo discreto entrada rampa
Presentando la función de transferencia reducida a
continuación y sobre esta el cálculo de las constantes de
control continuo – discretas, además de su respuesta ante
las tres entradas planteadas mostrada en la aplicación
diseñada.
��(�)
=
��(�)
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
• Control Discreto Discreto:
Para este control se plantea la ubicación del cero
oscilatoriamente inestable de manera discreta y con ello
se diseña un filtro y prefiltros para poder obtener una
respuesta oscilatoriamente estable y poder controlar el
sistema para la referencia de mejor manera.
��(�) 0.02678� + 0.09398
=
��(�) 0.000778� 2 + 0.1506� + 1
Primero se realiza la discretización de la planta de torque
Imagen 18 Control discreto discreto entrada rampa
por el método de “zoh” y sobre este se calcula el control
discreto a implementar como se muestra a continuación:
��(��) 0.1526𝑧 + 0.1473
=
��(��) �� 2 − 1.088𝑧 + 0.1442
Ahora se utiliza la función “zpk” sobre la función de
transferencia de torque discretizada y asi obtener el cero
puro dentro de la función y sobre este diseñar el prefiltros
y filtro:
��(�) 0.15256 ∗ (𝑧 − 0.9653)
=
��(�) (𝑧 − 0.9335)(𝑧 − 0.1545)
Imagen 19 Control discreto discreto entrada sinusoidal
Siendo el filtro:
• Control por LGR:
1
𝐹������ = Para este control se realiza el mismo procedimiento que
𝑧 − 0.9653
en el control anterior al plantear la ubicación del cero
Ahora sobre la función de transferencia de torque se se diseña un filtro y prefiltros para poder obtener una
realiza el control discreto, obteniendo asi el siguiente respuesta oscilatoriamente estable y poder controlar el
control: sistema para la referencia de mejor manera.
�������_��
������� = 𝑧−1
Ahora con esto, se plantea la ecuación de control por
LGR discreto, presentando los Ángulos determinados y su
correspondiente control aplicado ante las diferentes
entrada
[
Imagen 16
Control discreto
discreto frente a
tres referencias
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
�� 2 − 1.8727𝑧 + 0.8732
�������_��
������� = �� 2 − 1.5026𝑧 + 0.5026
Imagen 21 Control LGR entrada Escalon
Imagen 24 Control Compensador en freceuncia a tres referencias
Imagen 22 Control LGR entrada rampa
Imagen 25 Control anilacion de planta entrada cuadrada
Imagen 23 Control LGR entrada sinusoidal
• Control por Compensador en frecuencia:
Para este control se realiza el mismo procedimiento que
en el control anterior al plantear la ubicación del cero
oscilatoriamente inestable de manera discreta y con ello
se diseña un filtro y prefiltros para poder obtener una Imagen 26 Control anulacion de planta entrada triangular
respuesta oscilatoriamente estable y poder controlar el
sistema para la referencia de mejor manera.
��(�) 0.02678� + 0.09398
=
��(�) 0.000778� 2 + 0.1506� + 1
Ahora con esto, se plantea la ecuación de control por
compensador en frecuencia de manera discreta,
presentando los Ángulos determinados y su
correspondiente control aplicado ante las diferentes
entradas.
��� = [−24.1827] ���𝑎 = [0.5026] 𝐾 =
Imagen 27 Contorl Anulacion de planta entrada sinusoidal
[28.6738]
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
• Control por Anulación de planta:
Para este control se realiza el mismo procedimiento que
en el control anterior al plantear la ubicación del cero
oscilatoriamente inestable de manera discreta y con ello
se diseña un filtro y prefiltros para poder obtener una
respuesta oscilatoriamente estable y poder controlar el
sistema para la referencia de mejor manera.
��(�) 0.02678� + 0.09398
=
��(�) 0.000778� 2 + 0.1506� + Imagen 31 Control Anulacion de Planta entrada sinusoidal
1
Ahora se calcula la estimación del sistema deseado como • Control por Oscilaciones Muertas:
se muestra a continuación para posteriormente operarla Para este control se realiza el mismo procedimiento que
con la función de transferencia de torque discretizada: en el control anterior al plantear la ubicación del cero
oscilatoriamente inestable de manera discreta y con ello
��(��) 0.1526𝑧 + 0.1473 se diseña un filtro y prefiltros para poder obtener una
=
��(��) �� 2 − 1.088𝑧 + respuesta oscilatoriamente estable y poder controlar el
sistema para la referencia de mejor manera.
0.1442
0.04877
𝑆𝑖����𝑎 �� 0.02678� + 0.09398
����𝑎�� = 𝑧−1 (�) = 0.000778� 2 + 0.1506� + 1
��(
�)
Ahora se calcula la estimación del sistema deseado como
se muestra a continuación para posteriormente operarla
con la función de transferencia de torque discretizada:
��(��) 0.1526𝑧 + 0.1473
=
��(��) �� 2 − 1.088𝑧 + 0.1442
��𝑧�� = 3.017𝑧 − 2.017
𝑀�� 1�� = �� 2 − 3.017𝑧 −
2.017
21.3811�� 2 − 10.7404𝑧 +
�������_ 0.0001
���� =
Imagen 28 Control Anulacion de Planta frente a 3 entradas �� − 3.0174𝑧 +
2
2.0174
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Imagen 29 Control Anulacion de Planta entrada Escalon
Imagen 30 Control Anulacion de Planta entrada rampa
Imagen 36 Control Oscilaciones muertas frente a 3 entradas
Imagen 33 Control oscilaciones muertas entrada Escalon
Imagen 37 Control oscilaciones muertas entrada Escalón
Imagen 34 Control oscilaciones muertas entrada rampa
Imagen 35 Control por oscilaciones muertas entrada sinusoidal
• Control por Servosistema:
Para este control se realiza el mismo procedimiento que
en el control anterior al plantear la ubicación del cero
oscilatoriamente inestable de manera discreta y con ello
se diseña un filtro y prefiltros para poder obtener una
respuesta oscilatoriamente estable y poder controlar el
sistema para la referencia de mejor manera.
��(�) 0.02678� + 0.09398
=
��(�) 0.000778� 2 + 0.1506� + 1
Ahora se calcula la estimación del sistema deseado como
se muestra a continuación para posteriormente operarla
con la función de transferencia de torque discretizada:
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Q1 = -8.0678;
Q2 = 0.9454;
Q3 = 1.9653;
Q4 = -0.9653;
• Control por LGR:
�� = 𝑄0 ∗
En donde las contantes son las siguientes:
Q0 =10.5925;
Q1 =-11.527;
Imagen 39 Control oscilaciones muertas entrada Senoidal Q2 =1.528;
Q3 =1.909;
Q4 =-0.909;
Desarrollo de Controles Físicos
Para la implementación física primero se busca pasar la • Control por Compensador en frecuencia:
función de transferencia del control de cada uno de los �� = 𝑄0 ∗ �� + 𝑄1 ∗ ��(��−1) + 𝑄2 ∗
controles implementados a ecuaciones en diferencias, esto ��(��−2) + 𝑄3
para poder ingresar la ft al microcontrolador, en este caso
como se menciono anteriormente una ESP32, a continuación
se muestra las ecuaciones en diferencias de cada control: En donde las contantes son las siguientes:
Q0 =0.319;
Primero, para calcular la variable de error se utilizaron las Q1 =-0.319;
siguientes líneas de código dentro de la ESP32: Q2 =0.0465;
Q3 =1.965;
Q4 =-0.965;
• Control por Anulación de planta:
�� = 𝑄0 ∗ �� + 𝑄1 ∗ ��(��−1) + 𝑄2 ∗
��(��−2) + 𝑄3
Imagen 36 Código Control En donde las contantes son las siguientes:
Q0 =21.38;
En donde si el control esta activo, primero se toma el valor Q1 =-10.74;
de la corriente actual en miliamperios, se procede a convertir Q2 =3.02;
ese valor en amperios, y se calcula el torque multiplicando la Q3 =-2.02;
corriente actual, por la constante electromotriz y una ganancia.
• Control por Oscilaciones Muertas:
Ahora obteniendo las constantes de cada control: �� = 𝑄0 ∗ �� + 𝑄1 ∗ ��(��−1) + 𝑄2 ∗
��(��−1) + 𝑄3
• Control Continuo discreto:
En donde las contantes son las siguientes:
Q0 =36.696;
Q1 =-69.979;
En donde las contantes son las siguientes: Q2 =33.32;
Q0 =6.581; Q3 =1.505;
Q1 =-5.51; Q4 =-0.505;
Q2 =1;
• Control discreto-discreto:
Primero se definen las variables del código, y las librerías que
se usaron, en este caso la librería del sensor INA226, como se
muestra en la imagen de a continuación:
En donde las contantes son las siguientes:
Q0 = 13.2169;
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Imagen 39 Código 3
Ahora, en la función loop(), primero se pone un bloque en cual
está enfocado en la comunicación serial de lectura desde la
interfaz gráfica, esta parte del código recibe que tipo de
control se decide usar respecto a que entrada.
Imagen 37 Código 1
Imagen 38 Código 2
Imagen 40 Código 4
Ahora en la función setup(), se inicializa la comunicación
serial, se configura la librería del sensor ina226, se definen las
pines de entrada y salida, y se configura el PWM con el cual Ahora se muestra una función if, la cual cumple el tiempo de
se controla el motor. muestreo, dentre de este if, la ESP32 reinicia su contador de
tiempo, realiza la lectura de la corriente y procede a realizar el
control respectivo
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
Implementación de la interfaz grafica
Ahora se diseñó una interfaz gráfica implementada en
Python, en donde la primera parte hay un botón para activar la
comunicación serial, esta también disponer de dos secciones
de botones los cuales los primeros son para definir el control a
utilizar, y l asegunda sección para definir el tipo de referencia
que se desea implementar, utilizando escalón, rampa o
parábola, según como se desea, y finalizando se presentan los
resultados del control en 3 graficas, en donde la primera se
muestra la referencia y la señal actual, otra la cual se presenta
la señal de error y por ultimo otra la cual presenta la señal de
Imagen 41 Código 5 control, a continuación se presenta la interfaz funcionando:
A continuación, se muestran las constantes implementadas de
los controles físicos:
Imagen 44 Interfaz Grafica
Imagen 42 Código 6
A continuación, se presenta las señales de salida de cada uno
de los controles en la interfaz gráfica:
Para obtener físicamente la señal de control, ya que se utilizó
un puente H para el control físico, se utiliza el siguiente
• Control Continuo discreto:
código para obtener el correcto funcionamiento del motor
físico
Imagen 43 Código 6
INFORME DE PRÁCTICA DE LABORATORIO Versión 1.0
PROGRAMA DE INGENIERÍA MECATRÓNICA Periodo 2020-1
• Control discreto-discreto:
• Control por LGR:
V. CONCLUSIONES
El control del torque resulta crucial en diversas aplicaciones
de motores DC, ya que posibilita regular y mantener un nivel
constante de torque en el eje del motor. Esto se muestra
especialmente útil en sistemas que requieren un control
preciso de la velocidad y la posición, como en el ámbito de la
robótica, la automatización industrial y los vehículos
eléctricos.
A lo largo del experimento, se pudo apreciar la importancia de
ajustar adecuadamente los parámetros del controlador, como
• Control por Compensador en frecuencia:
las constantes de ganancia y los límites de saturación, para
lograr un rendimiento óptimo del sistema. Una configuración
inapropiada de estos parámetros puede derivar en respuestas
lentas, oscilaciones o inestabilidades.
REFERENCIAS
[1] J. K. Author, “Title of chapter in the book,” in Title of His
Published
Book, xth ed. City of Publisher, Country, year.
[2] Youtube, canal Sergio Chaparro. [Link]
Recuperado el 30 de Enero de 2017.
• Control por Anulación de planta:
• Control por Oscilaciones Muertas: