Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LEÓN
Producto Integrador de
Aprendizaje
Introducción
Los sistemas de control desempeñan un papel fundamental en el mundo de la ingeniería y
la automatización, permitiendo regular y mantener condiciones específicas en procesos y
dispositivos. Entre estos sistemas, los de lazo cerrado son particularmente eficientes, ya que
proporcionan una retroalimentación constante para ajustar y optimizar el rendimiento del
sistema. Estos sistemas evalúan el resultado de la salida y lo comparan con el valor
deseado, corrigiendo así cualquier desviación. Uno de los métodos más utilizados y el que
se verá en este proyecto en especial en el control de sistemas dinámicos es el controlador
proporcional integral derivativo (PID), que combina tres términos para mejorar la
estabilidad y la respuesta del sistema.
Marco Teórico
¿Qué es un controlador PID?
Control proporcional
Como su nombre indica, esta acción de control es proporcional a la señal de error e(t).
Internamente la acción proporcional multiplica la señal de error por una constante Kp que
determina la cantidad de acción proporcional que tendrá el controlador.
Esta acción de control intenta minimizar el error del sistema. Cuando el error es grande, la
acción de control es grande y tiende a minimizar este error.
Control derivativo
En el contexto del control PID, la acción derivativa ayuda a prevenir oscilaciones excesivas
y mejorar la estabilidad del sistema. Cuando la acción derivativa detecta que el error está
cambiando rápidamente, indica que el sistema se está acercando al valor de referencia de
manera muy rápida. Para contrarrestar esto, la acción derivativa aplica una fuerza que
reduce la velocidad del acercamiento, evitando así oscilaciones o overshooting.
Matemáticamente, la acción derivativa se expresa como la derivada del error con respecto
al tiempo (de ahí su nombre). Si el error está cambiando rápidamente, la acción derivativa
será más fuerte, y si el cambio es lento, la acción derivativa será más débil.
Control integral
Esta acción de control, como su nombre indica, calcula la integral de la señal de error e(t) y
la multiplica por la constante Ki. La integral se puede ver como la suma o acumulación de
la señal de error. A medida que pasa el tiempo pequeños errores se van sumando para hacer
que la acción integral sea cada vez mayor. Con esto se consigue reducir el error del sistema
en régimen permanente. La desventaja de utilizar la acción integral consiste en que esta
añade una cierta inercia al sistema y, por lo tanto, le hace más inestable.
Ventajas
Estos sistemas en conjunto son muy utilizados en todo el mundo debido a que los
controladores PID (Proporcional-Integral-Derivativo) ofrecen eficiencia y versatilidad
distintivas que los hacen altamente efectivos en la estabilización de sistemas dinámicos en
comparación con otros sistemas de control de lazo cerrado. En primer lugar, su capacidad
de adaptabilidad a una amplia gama de sistemas se deriva de la combinación de tres
términos distintos: proporcional, integral y derivativo. Esta versatilidad permite ajustar el
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
La respuesta rápida a cambios en el sistema es otra ventaja clave de los controladores PID.
El término proporcional permite al controlador reaccionar de manera inmediata ante
variaciones en el error, lo que resulta esencial para estabilizar el sistema frente a
perturbaciones o alteraciones en las condiciones operativas. Además, el término integral
desempeña un papel crucial al eliminar el error en estado estable, permitiendo que el
sistema alcance y mantenga la referencia a largo plazo, lo cual es especialmente valioso en
presencia de perturbaciones constantes o errores de modelado.
Metodología
Para elaborar nuestro proyecto, tuvimos que realizar una gran serie de pasos para lograr
construir, programar y planificar nuestro circuito. Antes de poder planificar lo que tenemos
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
que hacer, tuvimos que conseguir el material y asegurarnos de que pudieran cumplir con las
especificaciones buscadas.
Materiales y preparación
● Microcontrolador Arduino
Para esto, se colocó un diodo en polarización inversa en el ventilador entre sus terminales
positivas y negativas para controlar y mitigar estos cambios de tensión y proteger al equipo.
Para el transistor y la resistencia se utilizó un transistor 2N3904 (transistor npn) ya que este
es un transistor económico y convencional npn útil en aplicaciones de bajo voltaje y una
resistencia de 1K en la base y para el diodo se utilizó un diodo 1N4001 o 1N4007, esto se
hizo usando componentes convencionales ya que el diodo puede operar hasta con voltajes
de 1000V, más que suficiente para nuestra aplicación de controlar el voltaje.
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
● Ventilador
Para utilizar el ventilador que haría de elevador con la función de elevar la bola de unicel,
seleccionamos un ventilador económico de 12V y 3W de 2 cables, alimentación y tierra.
Pero esto no fue suficiente como criterio ya que nuestro ventilador necesitaba cumplir con
la condición de poder operar con pulsos de entre 0 a 255, es decir, que se pudiera modificar
su voltaje de alimentación y su velocidad de giro o repeticiones para aumentar o disminuir
la altura de la bola. Después de varias pruebas y de 4 ventiladores utilizados, encontramos
uno que pudiera operar con esos valores analógicos del PWM del Arduino.
Como paso adicional, se necesitó crear una base para el ventilador usando cartoncillo, cinta,
pegamento y varillas para elevar el ventilador y permitir el flujo de aire además de no
permitir que el aire se escape, haciendo que fluya solo por el tubo en donde se encuentra la
bola.
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
● Fuente de poder
Para la fuente de poder que alimentará al ventilador utilizamos una fuente de alimentación
variable que se fabricó en proyectos pasados de electrónica I. Esta fuente puede operar con
voltajes positivos y negativos de entre 0V y 15V, siendo necesario calibrar hasta 12V con
ayuda de un multímetro digital.
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
● Sensor ultrasónico
Para poder realizar nuestro control de altura, necesitábamos elaborar y buscar un sistema de
lazo cerrado capaz de funcionar y regularse en base a la señal proporcionada por el sensor
de ultrasonido.
Fig. 8 - Sistemas de control proporcional, Integral y Derivativo junto a su valor del PWM
en base al error
Desafortunadamente, cada uno de estos sistemas por separado mostró resultados poco
prometedores en la estabilización de la esfera debido a que cada uno de ellos no era capaz
de tomar en cuenta todos los errores en tiempo real y disminuir las oscilaciones para
alcanzar la altura deseada de manera estable, es decir, el sistema no era capaz de
estabilizarse por su cuenta.
A pesar de esto, logramos investigar y analizar que cada uno de estos controles, al
momento de trabajar en conjunto, son capaces de complementarse entre ellos para alcanzar
un nuevo tipo de control conocido como controlador PID (proporcional, integral y
derivativo). Este sistema sería el ideal ya que, a diferencia de los otros, este tomaba en
cuenta todos los errores y soltaba valores más precisos capaces de estabilizar y regular el
sistema, además de que estos son más utilizados a nivel mundial por sus buenos resultados,
por lo que decidimos utilizar este sistema para la elaboración del PIA.
Programación
Para la programación se realizó una combinación de cada uno de los controles anteriores
para tomar en cuenta cada uno de los errores de los controladores. En este sistema, se
ingresa un valor de referencia que en este caso sería la altura que nosotros deseamos y es a
través del sensor que el ventilador se activará de manera que buscará mantener la esfera de
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
unicel cerca del valor de referencia usando los errores (diferencia de altura con el valor de
referencia) en tiempo real para estabilizar el sistema.
long duracion;
double kp=7;
double ki=0.04;
double kd=40;
double ref=30;
double error=0;
double errorAnt=0;
double errorSuma=0;
double errorDer=0;
void setup() {
tiempoAnterior=0;
void loop() {
tiempoActual = millis();
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
distancia=40-distancia;
error=ref-distancia;
errorDer=error-errorAnt;
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
errorSuma += (ki*error);
double U=kp*error+(errorSuma)+kd*errorDer;
if (U>255){
U=255;
if (U<0){
U=0;
Serial.print(ref);
Serial.print(' ');
Serial.print(distancia);
Serial.print(' ');
Serial.println(U);
analogWrite(6,floor(U));
errorAnt=error;
tiempoAnterior=tiempoActual;
}
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
Primero se declaran variables para medir el tiempo de muestreo, los pines del sensor
ultrasónico, la duración del pulso ultrasónico, y los parámetros del controlador PID (kp, ki,
kd), la referencia de altura (ref), y las variables de error y sus componentes.
Para el ensamblado final del circuito, juntamos cada una de las secciones para poder
evaluarlas en conjunto, colocando el sistema (ventilador) con su base, su tubo de acrílico de
40 cm, el sensor de ultrasonido arriba del tubo mirando hacia la bola de unicel, el
controlador (el Arduino con las conexiones y componentes del PWM) y la fuente de
alimentación de 12V.
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
Resultados
Como resultado después de implementar cada una de las partes del proyecto, nuestro
sistema de levitación y estabilización en base a un ventilador funcionó sin problemas y
demostró ser capaz de estabilizar la esfera a una altura de referencia con un porcentaje de
error muy bajo y casi imperceptible, dando la ilusión de que la esfera está quieta en el aire a
un nivel de la base.
Dentro de la demostración del día de examen, la esfera fue capaz de levitar en el aire a una
altura de referencia de 15 cm, la altura que el maestro evaluó y determinó para comprobar
que el proyecto funcionaba, cosa que resultó funcionar sin problemas.
Discusión
En base a lo que pudimos observar en nuestro proyecto, el resultado final resultó ser el
esperado, incluso hasta mejor de lo que nos esperábamos en primer lugar.
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano
El primero fue que el ventilador tenía fugas de aire y no toda la potencia se iba al tubo en
donde se encontraba la bola de unicel, por lo que optamos por cubrir esa entrada y simular
un cuello de botella con el cartón y la cinta, permitiendo un mejor flujo de aire. Además, el
sensor fue colocado de manera centrada en la superficie del tubo para detectar en todo
momento la bola y tomar las mediciones precisas. Sin embargo, el cálculo de las ganancias
de cada sistema fue realizado de manera experimental y en base a prueba y error sin usar
tantos modelos matemáticos ya que solo se planeó la ecuación de error y error total en la
programación del código y no para las ganancias. Esto quizás fue lo que podríamos haber
mejorado para nuestro circuito, pero incluso con este detalle, el sistema llegaba a
estabilizarse después de los pocos segundos, demostrando que la buena planificación e
implementación de los materiales es fundamental para la elaboración de un proyecto de alta
complejidad, en especial si se trata de un control automático.
Conclusiones
Víctor Daniel Martínez Treviño
Durante la realización de esta práctica, pude comprender que el control PID es muy
relevante, puesto que desempeña un papel crucial en la estabilidad y precisión de los
sistemas de control. La capacidad de ajustar proporcionalmente, integral y derivativamente
los parámetros del controlador me permitió alcanzar un equilibrio óptimo entre la rapidez
de respuesta y la reducción de oscilaciones no deseadas en el sistema.
Además, fue posible aplicar los conocimientos aprendidos de teoría de control en este
sistema de levitación con Arduino, el cual presentaba desafíos particulares. La
implementación de un controlador PID demostró ser eficaz para mantener la posición
deseada del objeto levitante, incluso frente a perturbaciones externas. La capacidad de
ajustar los parámetros del PID de acuerdo con las características específicas del sistema fue
esencial para lograr un rendimiento óptimo.
Espero aprender más de este tema en el futuro, ya que la dinámica de los sistemas de
control y la variedad de aplicaciones son fascinantes. La posibilidad de seguir explorando
nuevas tecnologías y desafíos en el campo del control me motiva a continuar ampliando
mis conocimientos y habilidades en este apasionante campo.
La señal PWM de Arduino, por otro lado, nos abre más posibilidades para controlar el
sistema. Al manipular el ancho de los pulsos, podemos modular la intensidad y velocidad
de dispositivos como motores y luces LED de manera eficiente, que en este caso fue usando
un ventilador. Integrar estos elementos en un proyecto concreto, como el levitador
neumático con ventilador y sensor de ultrasonido de este caso, pudimos ver cómo la
combinación de un controlador PID y una señal PWM nos permite crear soluciones
ingeniosas y precisas para aplicaciones de alta complejidad. En lo personal, me gustó esta
práctica ya que la sentí como un reto muy diferente a lo que hemos visto, más relacionado
con el uso de la electrónica y los circuitos en arduino para representar sistemas de control y
estabilizar cada uno de estos sistemas.
Referencias
• ATMEGA328P - Microchip Technology. (n.d.).
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-
Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
• Controlador PID - Control automático - Picuino. (n.d.).
https://www.picuino.com/es/control-pid.html
• Facal, R. (2023, August 30). ¿Qué es el control PID? Sus aplicaciones en la
Industria 4.0. MINT. https://mintforpeople.com/noticias/que-es-control-pid/
• Controladores PID. (2002). Universidad Nacional de Quilmes. Control
Automático 1. Recuperado de
https://www.eng.newcastle.edu.au/~jhb519/teaching/caut1/Apuntes/PID.pdf
• Carmenate, J. G. (2022b, January 13). Señal PWM con Arduino y analogWrite.
Programar Facil Arduino y Home Assistant.
https://programarfacil.com/blog/arduino-blog/pwm-con-arduino-analogico/
• Administrador. (2019a, May 31). Arduino PWM con Arduino UNO.
HeTPro-Tutoriales. https://hetpro-store.com/TUTORIALES/arduino-pwm/
• Redacción. (2020, April 21). PWM Arduino, Pulse Width Modulation, Qué es. |
Descubrearduino.com. Descubre Arduino. https://descubrearduino.com/pwm/
Tópicos Selectos de Control Dr. Ernesto Zambrano Serrano