Sunteți pe pagina 1din 15

c   

   

? ?
? 
? 
?
?
 ? ?
?
?
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 , % es Kp / K i y la constante de tiempo


derivativa, % , 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.
c   
   

?
?? ?? ??
?
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.
c   
   

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.

 ? ?
??  ?



?

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 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.
c   
   

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.

?
?
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.?
?

?
  ?
?

?
?
?
La placa controladora tiene 2 funciones principales: medir y manejar el motor de CC.
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.
c   
   

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.

 

!"!?"?# #$" ?"? !%$&!? ?


?

?
½  ?
?
½ (t) = Punto de referencia deseado
Y (t) = Medición de la respuesta
E (t) = Error
C (t) = ½espuesta del Contralor?
?
El punto de ajuste deseado ½ (t) de este sistema se produce cuando ǒ = 0 °. En este
estado, es equilibrado el péndulo. Desde que la respuesta deseada del sistema es de
0°, cualquier medida de ángulo distinta de 0 ° es el error o

'?()?*?"?()?

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

$ ?
 + ?,"()????? ? Donde ,?es la constante proporcional.
?

$ ? - +?ࡷ࢏ ‫ܧ ࢕׬‬ሺ‫ݐ‬ሻ݀‫? ?????ݐ‬ Donde Ki es la constante integral

$ ?   +?KDdE(t)/dt Donde KD es la constante derivativa

?
?
?
c   
   

?
"

?.?
?

?
?
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.

 ???  ? -  ?
?
É?  
? ?  ? ? ?   ? ? ? ? ?  ?  ? ?  
? ? ? ? ? ? ?
 ? ?   ?? ?    ?? ??  ? ?  ?? ? ? ?
  ?   ??? 

?
?
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).


?

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

?
?
?
 /???   ?
?
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:?
c   
   

?
] 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.

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 de l 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.
?

?
?
 -  ????- ? ?

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

?
?
 -?? ?
?
c   
   

?
?
"0 ?
?
c   
   

?
c   
   

?
?
?
?
c   
   

???  ?(# 


? 
  ??  ) ?
?
CONT½OL MANUAL Y AUTOMÁTICO DE PÉNDULO INVE½TIDO

% 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);

% PA½ÁMET½OS DEL PÉNDULO


l = 2; % Longitud del péndulo
m = 1; % Masa del péndulo
J = m*l^2; % Momento de inercia referido al eje
B = 1; % Coeficiente de fricción
g = 10; % Aceleración de la gravedad

% ESTADO INICIAL DEL PÉNDULO


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

% DEFINICIÓN DE UN "SLIDE½" PA½A CONT½OLA½ MANUA LMENTE EL PÉNDULO


f = 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 ángulo


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

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


a0 = [0;0];

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

% PA½ÁMET½OS DEL CONT½OL PID DEL ÁNGULO


Kp = 10;
Ki = 100;
Kd = .1;
s = tf('s');
Cth = c2d(Kp + Ki/s + Kd*s/(0.01*s+1),Tm,'tustin');

% PA½ÁMET½OS DEL CONT½OL PID DE LA POSICIÓN DE LA BASE


Cpos = 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éndulo


k = 2; % Empezamos en k=2 para tener acceso al menos a dos muestras
anteriores
while 1,
k = k + 1;

% BUFFE½ CON LA POSICIÓN (X(3) TIENE LA POSICIÓN ACTUAL)


% X(k) = get(h,'Value');

e(k) = pi-y;

% ½EST½INGIMOS EL VALO½ DEL E½½O½ AL INTE½VALO [ -pi,pi]


e(k) = mod(e(k)+pi,2*pi)-pi;

% CONT½OL DE LA POSICIÓN DE LA BASE DEL PÉNDULO


ep = 0-pos;
[dpos,ep0] = filter(Cpos.num{1},Cpos.den{1},ep,ep0);
c   
   

e(k) = e(k) - dpos;

% SELECCIÓN DE CONT½OL MANUAL / CONT½OL 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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%

% ½EP½ESENTACIÓN G½Á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;
c   
   

% 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


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]);

% ½efresco de la imagen
drawnow;

end
?
?
? 
 ?
?
j? 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.
j? Si los parámetros del controlador PID (la ganancia del proporcional, integral y
derivativo) se eligen incorrectamente, el proceso a controlar puede ser
inestable?
j? Hay varios métodos para ajustar un lazo de PID.
j? 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".
j? 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.?
j? ?
?
 ? 1-  ?
?
http://ww1.microchip.com/downloads/en/AppNotes/00964A.pdf

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

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