Navegando por
Categoría: PID

PIDControl – Librería de control para Arduino

PIDControl – Librería de control para Arduino

https://github.com/deurus/PIDControl Introducción PIDControl nace de una mezcla bastante habitual entre necesidad, curiosidad y esa mala costumbre de mirar algo que ya funciona y pensar que seguramente se puede complicar un poco más. La idea inicial era relativamente sencilla. Quería disponer de una librería PID para Arduino con la que pudiera trabajar de una forma parecida a como estoy acostumbrado en control de procesos. Manual y automático, seguimiento de PV, transferencia bumpless, anti-windup, diferentes estructuras de PID, acción directa o inversa…

Leer más Leer más

Librerías PID y herramientas de identificación para Arduino

Librerías PID y herramientas de identificación para Arduino

Introducción A lo largo de los tres artículos anteriores he implementado el controlador, identificado el proceso y calculado una sintonía. Llegados a este punto es razonable preguntarse por qué escribir todo ese código si existen librerías PID para Arduino. La respuesta es sencilla. Una librería puede ahorrarme trabajo, pero no elimina la necesidad de entender qué ecuación ejecuta, cómo interpreta sus parámetros, cómo trata la saturación o qué prueba realiza cuando ofrece autotuning. En este último artículo no voy a…

Leer más Leer más

Métodos de sintonía PID a partir de la identificación del proceso

Métodos de sintonía PID a partir de la identificación del proceso

Introducción En los artículos anteriores hemos recorrido dos etapas fundamentales. Primero entendimos el funcionamiento de P, I y D y construimos una implementación básica en Arduino. Después identificamos el proceso mediante un ensayo en lazo abierto o en lazo cerrado y obtuvimos parámetros como Kp, T0, Tp, Ku o Tu. Ahora vamos a utilizar esa información para calcular la sintonía del controlador. La diferencia respecto a una sintonía por prueba y error es importante. Ya no estamos modificando constantes hasta…

Leer más Leer más

Identificación de procesos para la sintonía de un PID

Identificación de procesos para la sintonía de un PID

Introducción En el artículo anterior vimos cómo funciona un controlador PID y construimos una implementación básica en Arduino. Nos quedó pendiente una cuestión fundamental y es que habíamos escrito unos valores de Kc, Ki y Kd, pero esos números no procedían de ningún análisis del proceso. Podríamos modificarlos hasta conseguir una respuesta aceptable, aunque nuestra intención será utilizar un procedimiento más sistemático. Antes de sintonizar vamos a identificar el proceso. El objetivo no es obtener un modelo matemático perfecto, sino…

Leer más Leer más

Introducción al PID y su implementación en Arduino

Introducción al PID y su implementación en Arduino

Introducción El controlador PID es probablemente uno de los algoritmos de control más utilizados en la industria. Podemos encontrarlo regulando temperaturas, presiones, caudales, velocidades, posiciones y prácticamente cualquier variable que podamos medir y sobre la que tengamos alguna forma de actuar. A pesar de ello, su funcionamiento básico es relativamente sencillo y podemos implementarlo sin demasiadas dificultades en un Arduino. En este artículo vamos a entender qué hace realmente un PID y cómo llevarlo a código, simplificando todo lo posible…

Leer más Leer más

Modelado y Control de Posición de un Servo Simulado (2ªParte)

Modelado y Control de Posición de un Servo Simulado (2ªParte)

Introducción Esta es la segunda parte del control del servo simulado. En la primera parte modelamos y sintonizamos un control de velocidad. El control de velocidad a excepción de la ausencia de tiempo muerto, no tuvo mayor complicación, nos enfrentamos a un proceso con respuesta autorregulada fácil de identificar y sintonizar. Ahora es el turno de controlar la posición y afrontar una respuesta completamente diferente, ¿no te lo crees? Pues sigue leyendo. Funcionamiento Recordemos que disponemos de un servo de…

Leer más Leer más

Modelado y Control de Velocidad de un Servo Simulado (1ªParte)

Modelado y Control de Velocidad de un Servo Simulado (1ªParte)

Introducción Se trata de un simulador desarrollado por la UNED para sus laboratorios virtuales los cuales, nos permiten descargar y ejecutar localmente la aplicación realizada en html+javascript para practicar. El simulador está muy logrado e implementa el funcionamiento de la maqueta con bastante detalle aunque he tenido que modificar parte del código javascript ya que no funcionaba la parte de guardar los datos. Podéis probarlo aquí. El Simulador La interfaz es muy intuitiva. En la parte izquierda tenemos el disco…

Leer más Leer más

SINTONIZAR PID CON ARDUINO – Control de posición de una pelota en levitación

SINTONIZAR PID CON ARDUINO – Control de posición de una pelota en levitación

Introducción Recientemente, me encontré por casualidad con un vídeo que mostraba cómo un secador de pelo puede hacer levitar una pelota de ping-pong, ilustrando el principio de Bernoulli. Esto despertó mi curiosidad sobre la posibilidad de ajustar la potencia del secador para controlar la altura a la que se mantiene la pelota. Inspirado por esta idea, esa misma noche comencé a experimentar con algunos componentes que tenía guardados y, poco a poco, di forma a la maqueta que les presento…

Leer más Leer más

SINTONIZAR PID CON ARDUINO – Control de velocidad de un motor

SINTONIZAR PID CON ARDUINO – Control de velocidad de un motor

Introducción En esta entrada, exploraremos una implementación básica y fácil de entender del control de velocidad de un motor usando Arduino. Aunque es un ejemplo simple, sirve como un excelente punto de partida hacia implementaciones más avanzadas y profesionales. Para este proyecto, he utilizado un conocido motorreductor junto con un encoder infrarrojo, elementos comunes en la construcción de maquetas de vehículos a pequeña escala. Componentes Arduino UNO R3 Yo he usado un Arduino Uno R3 pero os vale cualquier placa…

Leer más Leer más