17
Controlador PID con péndulo IV.- Información Científica Controlador PID Básico. El controlador proporcional integral derivativo (PID), mejor conocido como controlador de tres términos, con un sistema de la forma que ilustra la figura dará una salida, para una entrada de error e, de La función de transferencia, salida (s)/ e(s), del controlador es, de esta manera Debido a que la constante de tiempo integral , τi es K p / K i y la constante de tiempo derivativa, τd , K d / K p ; la ecuación se puede escribir como: La función de transferencia en lazo abierto para el sistema de la figura es: De este modo, el controlador PID ha incrementado el número de ceros en 2 y el número de polos en 1. También el factor 1/s incrementa el tipo de sistema en 1. En la ecuación anterior se supone que se ha empleado un diferenciador ideal.

controlador pid

Embed Size (px)

DESCRIPTION

todo aerca de un PID

Citation preview

Page 1: controlador pid

Controlador PID con péndulo

IV.- Información Científica

Controlador PID Básico.

El controlador proporcional integral derivativo (PID), mejor conocido como controlador de tres términos, con un sistema de la forma que ilustra la figura dará una salida, para una entrada de error e, de

La función de transferencia, salida (s)/ e(s), del controlador es, de esta manera

Debido a que la constante de tiempo integral , τi es Kp / Ki y la constante de tiempo derivativa, τd , Kd / K p; la ecuación se puede escribir como:

La función de transferencia en lazo abierto para el sistema de la figura es:

De este modo, el controlador PID ha incrementado el número de ceros en 2 y el número de polos en 1. También el factor 1/s incrementa el tipo de sistema en 1. En la ecuación anterior se supone que se ha empleado un diferenciador ideal.

Page 2: controlador pid

Controlador PID con péndulo

Ajuste de parámetros del PID

El objetivo de los ajustes de los parámetros PID es lograr que el bucle de control corrija eficazmente y en el mínimo tiempo los efectos de las perturbaciones; se tiene que lograr la mínima integral de error.

Si los parámetros del controlador PID (la ganancia del proporcional, integral y derivativo) se eligen incorrectamente, el proceso a controlar puede ser inestable, por ejemplo, que la salida de este varíe, con o sin oscilación, y está limitada solo por saturación o rotura mecánica.

Ajustar un lazo de control significa ajustar los parámetros del sistema de control a los valores óptimos para la respuesta del sistema de control deseada. El comportamiento óptimo ante un cambio del proceso o cambio del "setpoint" varía dependiendo de la aplicación.

Generalmente, se requiere estabilidad ante la respuesta dada por el controlador, y este no debe oscilar ante ninguna combinación de las condiciones del proceso y cambio de "setpoints".

Algunos procesos tienen un grado de no-linealidad y algunos parámetros que funcionan bien en condiciones de carga máxima no funcionan cuando el proceso está en estado de "sin carga". Hay varios métodos para ajustar un lazo de PID.

El método más efectivo generalmente requiere del desarrollo de alguna forma del modelo del proceso, luego elegir P, I y D basándose en los parámetros del modelo dinámico.

Los métodos de ajuste manual pueden ser muy ineficientes. La elección de un método dependerá de si el lazo puede ser "desconectado" para ajustarlo, y del tiempo de respuesta del sistema.

Si el sistema puede desconectarse, el mejor método de ajuste a menudo es el de ajustar la entrada, midiendo la salida en función del tiempo, y usando esta respuesta para determinar los parámetros de control. Ahora describimos como realizar un ajuste manual.

.

Solamente el valor de avanacción puede proveer la mayor porción de la salida del controlador. El controlador PID puede ser usado principalmente para responder a cualquier diferencia o "error" que quede entre el setpoint y el valor actual del proceso.

Como la salida del lazo de avanacción no se ve afectada a la realimentación del proceso, nunca puede causar que el sistema oscile, aumentando el desempeño del sistema, su respuesta y estabilidad.

Por ejemplo, en la mayoría de los sistemas de control con movimiento, para acelerar una carga mecánica, se necesita de más fuerza (o torque) para el motor.

Page 3: controlador pid

Controlador PID con péndulo

Si se usa un lazo PID para controlar la velocidad de la carga y manejar la fuerza o torque necesaria para el motor, puede ser útil tomar el valor de aceleración instantánea deseada para la carga, y agregarla a la salida del controlador PID.

Esto significa que sin importar si la carga está siendo acelerada o desacelerada, una cantidad proporcional de fuerza está siendo manejada por el motor además del valor de realimentación del PID.

El lazo del PID en esta situación usa la información de la realimentación para incrementar o decrementar la diferencia entre el setpoint y el valor del primero. Trabajando juntos, la combinación avanacción-realimentación provee un sistema más confiable y estable.

PID como PI solamente.

ntrolador PID con Péndulo Invertido

Introducción

El propósito de la aplicación de éste controlador es describir cómo un PIC16F684 se puede utilizar para implementar una posición Proporcional-integral-derivativo (PID) de control de retroalimentación en un sistema intrínsecamente inestable.

El péndulo Invertido se utiliza para demostrar este tipo de control; consiste de tres partes principales:

La plataforma de base, el péndulo y la placa controladora, como se muestra en la Figura.

La plataforma de base

La plataforma de base es una plataforma de 3 puntos, 2 ruedas (una de los cuales se orienta y conecta a un motor de corriente continua) y un jack de audio.

Page 4: controlador pid

Controlador PID con péndulo

Cuando el motor de corriente está activado, la base de plataforma girará alrededor de un círculo con el centro del eje de rotación. El jack de audio tiene 2 propósitos: En primer lugar se utiliza como el eje de rotación para la plataforma de base y en segundo lugar, se utiliza para llevar potencia de conmutación a la tarjeta controladora.

Péndulo

El péndulo está sujeto a la plataforma de base por un potenciómetro rotativo libre de 360º. La base del péndulo se adjunta al potenciómetro de tal manera que cuando el péndulo está equilibrado (totalmente vertical), el centro del potenciómetro del grifo está sesgado a Vref / 2.

Para el resto de esta aplicación se utiliza el ángulo de desplazamiento del péndulo con respecto al el eje vertical.

Placa controladora

La placa controladora tiene 2 funciones principales: medir y manejar el motor de CC.

Page 5: controlador pid

Controlador PID con péndulo

El suministro de energía necesaria para ejecutar el sistema está dada por la selección de la de motor.

El motor está controlado por un puente H que es manejado por un PIC16F684 / Comparar / Módulo PWM (PECC).

Hay 5 potenciómetros situados en la laca controladora, de las cuales 3 se utilizan para ajustar las constantes PID (KP, KI y KD) y uno para medir el Θ.

El quinto potenciómetro se utiliza en unión con el filtro de entrada de referencia. El filtro de entrada es un filtro de paso bajo de Bessel con una frecuencia de corte de 60 Hz y tiene un voltaje de ganancia de 6.

Un filtro paso bajo se necesita para eliminar cualquier ruido de alta frecuencia y en la medición de ángulos. El controlador PID es extremadamente sensible.

El filtro de Bessel se utiliza porque tiene la mejor respuesta a una función de paso. (Una vez que el péndulo es equilibrado, un desplazamiento súbito hace que se desequilibre.

La frecuencia de corte debe ser por lo menos el doble de la frecuencia esperada del péndulo.

La ganancia del filtro debe aumentar la resolución de analógica a digital (A / D).

Con el potenciómetro de 360 ° y el convertidor de 10-bits A / D, sin ganancia, un LSb es igual a 0,35 °.

Con la ganancia definida en 6, el desplazamiento del ángulo máximo de ± 30 °, ofrece una resolución de 0,059 ° por LSb.

PID

MODELO DEL SISTEMA DE CONTROL PID

Realimentación

R (t) = Punto de referencia deseadoY (t) = Medición de la respuesta E (t) = ErrorC (t) = Respuesta del Contralor

El punto de ajuste deseado R (t) de este sistema se produce cuando Θ = 0 °. En este estado, es equilibrado el péndulo. Desde que la respuesta deseada

Page 6: controlador pid

Controlador PID con péndulo

del sistema es de 0°, cualquier medida de ángulo distinta de 0 ° es el error o

Y (t) = E (t).

En la ejecución del controlador PID, existen 3 condiciones que se basan fuera del error de medición.

Término proporcional: KpE(t) Donde Kp es la constante proporcional.

Término integral: Ki∫o

t

E( t)dt Donde Ki es la constante

integral

Término derivativo: KDdE(t)/dt Donde KD es la constante derivativa

Ecuación 1

En este sistema, la señal de salida del controlador, C (t), determinará la dirección en la que el motor se enciende.

La magnitud de C (t) corresponde directamente con el deber de el ciclo del PWM en el módulo del PECC, la determinación de la velocidad a la que el motor se enciende.

PID en un sistema digital

La conversión de más de un sistema digital, y (t) se mide por un conversor A / D. A fin de aplicar el controlador PID, el microcontrolador PICmicro tendrá que aproximar algunos de los términos integrales y derivativos.

Comenzando con el término derivado, podemos utilizar las siguientes ecuaciones en diferenciales para nuestra aproximación.

Donde E (n) es el error actual, E (n-1) es el error anterior y TS es nuestro período de muestreo.

La ecuación 2 es la pendiente aproximada de la recta tangente a E (t).

Page 7: controlador pid

Controlador PID con péndulo

Con estas aproximaciones podemos reescribir C (t) como se muestra en la ecuación:

Diseño del Péndulo Invertido

Con el fin de aplicar correctamente el algoritmo de control, el usuario tiene que ver cómo los sistemas mecánicos y eléctricos van a la interfaz juntos.

El modelado del péndulo invertido no es una tarea sencilla. Éstas son algunos de las variables que deben ser tomadas en cuenta con el fin de modelar el sistema:

• Bases de posición • Bases de velocidad • Bases de aceleración• Bases de momento de inercia• Bases de coeficiente de fricción• Bases de masas • Bases de longitud • La constante gravitacional de la Tierra• Posición del Péndulo• Velocidad del Péndulo• Péndulo de momento de inercia• Péndulo de coeficiente de fricción• La masa de Péndulo• Longitud de Péndulo

A fin de simplificar todo esto, utilice una regla simple. Seleccione un motor (con el par de apriete correcto, rpm y relación de transmisión a la rueda motriz), que puede acelerar el plataforma de base lo más rápido que el péndulo puede caer. La aceleración angular del péndulo con respecto a la el ángulo de desplazamiento es:

Como la aceleración del péndulo no es constante, use la aceleración máxima del péndulo, mediante esta regla.

Page 8: controlador pid

Controlador PID con péndulo

La aceleración máxima del péndulo se producirá cuando Θ es el ángulo más grande, el controlador para intentar corregir (ΘMAX). ΘMAX es controlado tanto por el hardware como de software.

El hardware límite para ΘMAX es fijado por la ganancia del filtro de Bessel, con una ganancia de 6, el límite es de ± 30 º o ± 0,523 radianes. Esto puede ser más limitado en el software.

Diagrama de flujo en Lenguaje C

Los gráficos siguientes muestran el flujo de una versión simplificada del código C para el péndulo invertido.

Page 9: controlador pid

Controlador PID con péndulo

Código C

Esquema

Page 10: controlador pid

Controlador PID con péndulo

Page 11: controlador pid

Controlador PID con péndulo

Page 12: controlador pid

Controlador PID con péndulo

Control de péndulo invertido (Simulación interactiva en Matlab)

CONTROL MANUAL Y AUTOMÁTICO DE PÉNDULO INVERTIDO

% Este script ejecuta la simulación de un péndulo que puede ser controlado manualmente (accionando % una barra deslizante o "slider") o de forma automática, mediante lazos de control PID. El control% automático incorpora un doble lazo incluyendo un lazo con control del ángulo del péndulo (para que se sitúe en% posición vertical) y otro lazo más lento para hacer que la posición de la base se sitúe en un punto dado % en el estado de equilibrio. %% El script puede ser utilizado tanto como un "equipo de prácticas", en el que pueden % estudiarse diversos conceptos de control, así como servir de base para que el profesor (o el% alumno) elaboren otros ejemplos interactivos totalmente distintos mediante el procedimiento % de "cortar y pegar".%%% Fecha: 2006-11-02% Autor: Ignacio Díaz% Area de Ingeniería de Sistemas y Automática% Universidad de Oviedo

clear;close all;clc;

disp('Instrucciones:');disp('- Pulsar ''0'' para desactivar el sistema de control');disp('- Pulsar otra tecla para restaurar el sistema de control');disp(' ');disp('Control manual: actuar sobre la barra deslizante para modificar la base del péndulo.');pause(2);

% PARÁMETROS DEL PÉNDULOl = 2; % Longitud del péndulom = 1; % Masa del pénduloJ = m*l^2; % Momento de inercia referido al ejeB = 1; % Coeficiente de friccióng = 10; % Aceleración de la gravedad

% ESTADO INICIAL DEL PÉNDULOx = [pi-0.1;0]; % Para que se vea el efecto del control, empezamos % con el péndulo casi vertical (theta = pi +/- "algo")

Page 13: controlador pid

Controlador PID con péndulo

% DEFINICIÓN DE UN "SLIDER" PARA CONTROLAR MANUALMENTE EL PÉNDULOf = figure(1);set(f,'pos',[200,200,700 700]);h = uicontrol('style','slider','pos',[20 20 680 20],'min',-4,'max',4);

Tm = 0.01; % Período de muestreo

e0 = zeros(2,1); % Condiciones iniciales del control de ánguloep0 = zeros(2,1); % Condiciones iniciales del control de posición

x0 = [0;0]; % Condiciones iniciales del pénduloa0 = [0;0];

xmin = -2;xmax = +2;y = x(1);

% PARÁMETROS DEL CONTROL PID DEL ÁNGULOKp = 10;Ki = 100;Kd = .1;s = tf('s');Cth = c2d(Kp + Ki/s + Kd*s/(0.01*s+1),Tm,'tustin');

% PARÁMETROS DEL CONTROL PID DE LA POSICIÓN DE LA BASECpos = c2d(.04 + 0.0001/s + s*0.0001/(0.01*s+1),Tm,'tustin');

pos = 0; % Valor inicial de la posición de la base del péndulok = 2; % Empezamos en k=2 para tener acceso al menos a dos muestras anterioreswhile 1, k = k + 1; % BUFFER CON LA POSICIÓN (X(3) TIENE LA POSICIÓN ACTUAL) % X(k) = get(h,'Value');

e(k) = pi-y; % RESTRINGIMOS EL VALOR DEL ERROR AL INTERVALO [-pi,pi] e(k) = mod(e(k)+pi,2*pi)-pi; % CONTROL DE LA POSICIÓN DE LA BASE DEL PÉNDULO ep = 0-pos; [dpos,ep0] = filter(Cpos.num{1},Cpos.den{1},ep,ep0); e(k) = e(k) - dpos;

Page 14: controlador pid

Controlador PID con péndulo

% SELECCIÓN DE CONTROL MANUAL / CONTROL AUTOMÁTICO tecla = get(f,'currentchar'); switch tecla case '0' pos = get(h,'value'); otherwise [pos,e0] = filter(Cth.num{1},Cth.den{1},e(k),e0); end

% Suavizado de la aceleración (muy conveniente, porque el movimiento del % objeto "slider" con un ratón se produce a saltos, dando lugar a segundas % derivadas muy elevadas) [X(k),x0] = filter(.01,poly([.9 .9]),pos,x0); [a,a0] = filter((1/Tm^2)*[1 -2 1],[1 0 0],X(k),a0); A(k) = a; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ECUACIONES EN ESPACIO DE ESTADOS (NO LINEALES) DEL PÉNDULO u = -a; % Asignamos la entrada

% Ecuación de estados x(1) = x(1) + Tm*x(2); x(2) = x(2) + Tm*(1/J*(-B*x(2)-m*g*l*sin(x(1))+m*u*l*cos(x(1)))); % Ecuación de salida y = x(1); th = y; % Asignamos la salida %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% REPRESENTACIÓN GRÁFICA DE LA SIMULACIÓN figure(1); plot(X(k),0,'.'); hold on; p1 = X(k); p2 = X(k)+l*exp(j*(th-pi/2)); line(real([p1,p2]),imag([p1,p2])); plot(real(p2),imag(p2),'.','markersize',40);

hold off; % Sugerencia: pueden dibujarse también otras flechas indicando en tiempo real las fuerzas reales % o de inercia que actúan en cada elemento del sistema

% Centrado automático de la perspectiva sobre el objeto de control

Page 15: controlador pid

Controlador PID con péndulo

if X(k)>xmax-1 xmin = xmin + 0.1; xmax = xmax + 0.1; elseif X(k)<xmin+1 xmin = xmin - 0.1; xmax = xmax - 0.1; end grid on; axis([xmin-3 xmax+3 -5 5]);

% Refresco de la imagen drawnow;

end

V.- Conclusiones

El objetivo de los ajustes de los parámetros PID es lograr que el bucle de control corrija eficazmente y en el mínimo tiempo los efectos de las perturbaciones; se tiene que lograr la mínima integral de error.

Si los parámetros del controlador PID (la ganancia del proporcional, integral y derivativo) se eligen incorrectamente, el proceso a controlar puede ser inestable

Hay varios métodos para ajustar un lazo de PID.

Los controladores PID, cuando se usan solos, pueden dar un desempeño pobre cuando la ganancia del lazo del PID debe ser reducida para que no se dispare u oscile sobre el valor del "setpoint".

Un péndulo invertido es un dispositivo físico que consiste en una barra cilíndrica con libertad de oscilar alrededor de un pivote fijo.

VI.- Linkografía

http://ww1.microchip.com/downloads/en/AppNotes/00964A.pdf

http://isa.uniovi.es/ISAwiki/index.php/Control_de_p%C3%A9ndulo_invertido_%28Simulaci%C3%B3n_interactiva_en_Matlab%29

http://www.dspace.espol.edu.ec/bitstream/123456789/6118/36/CICYT.pdf